Magit:行内の違いを表示する方法


13

ファイルがあり、いくつか変更を加えます。ここで、SmartGitがどのように違いを示すかを説明します。

smartgit

ご覧のように、行のどこに違いがあるかがわかります。具体的な位置で背景を赤色に変更します。そして、それはとても良いです。違いを見つけるために時間を費やす必要はありません。違いがどこにあるかすぐにわかります。

これで、Magitでは次のようになります。

ここに画像の説明を入力してください

ご覧のとおり、Magitによると、違いは全体的なものでした。差異が行内のどこにあるかを示していません。だから私は手動でどこに違いがあるかを見つける必要があります。これを毎回行う必要があります。それはあまり比較できません。20行に違いがあるとします。実際に何が変わったのかを見つけるのに多くの時間を費やす必要があります。あまり良くありません。

magitは、変更がある実際の列で違いを示すことができますか?SmartGitのように。

回答:


2

私のようにあなたの設定にそれを保存したい場合は、追加するだけです

(setq magit-diff-refine-hunk (quote all))

あなたへ .emacs.d/init.el


これは、哲学者の答えに触発されました


16

M-x customize-option RET magit-diff-refine-hunk RET

magit-diff-toggle-refine-hunkにバインドされたコマンドも参照してください。このコマンドDtを使用して、現在のバッファーの動作を設定できます。バッファ内のすべてのハンクのDC-ut絞り込みをオンにするために使用します。そうでない場合、現在選択されているハンクの絞り込みのみが常に表示されます(ハンク間を移動すると更新されます)。

差分、使用の「洗練」領域の外観を構成するM-x customize-faceためdiff-refine-addeddiff-refine-changedおよびdiff-refine-removed顔を。


1

ワードdiffが機能するには、diff実行可能ファイルを使用できる必要があります。

そのため、M-x ielm RET (executable-find "diff") RET返されないことを確認してくださいnil。戻る場合はnil、diff実行可能ファイルを含むフォルダーへのパスをexec-path変数に追加しますM-x ielm RET (add-to-list 'exec-path "c:/Program Files/Git/usr/bin") RET

次に、magitが実際にそのdiff実行可能ファイルを使用していることを確認する必要があります。そのためには、magitステータスバッファを入力し、ヒットしてD-x Disallow external diff drivers (--no-ext-diff)無効になっていることを確認します。それ以外の場合はで無効にし-x、でデフォルトとして設定しs、でデフォルトを保存しDwます。

これが完了したら、現在のバッファのオプションDtを切り替えるmagit-diff-refine-hunkか、philsのこの回答に従って、この設定をより永続的にすることができます。


0

試行ediff-toggle-ignore-caseまたはcompare-ignore-case可変。私の推測では、diffエンジンは大文字小文字を無視しています。diffオプションにも含まれている場合があります(設定がわからない)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.