git diff
をセットアップして、vimdiffにラップし、「 Gim Diff with Vimdiff 」をガイドとして使用します。変更のあるファイルが多くない限り、期待どおりに機能します。
変更のあるファイルが複数あり、git diff
を実行すると、最初のファイルが開き、vimdiffの最初のインスタンスを終了した後、次のメッセージが表示されます。
external diff died, stopping at filename
これは、私が慣れているものとはまったく異なる動作です。過去にSVNを使用して同様の設定を行っていましたが、複数のファイルと比較する場合、最初のファイルを確認し、:wq
を使用して書き込みと終了を行い、次のファイルを開きます。
これはGitには当てはまりません。 :n[ext]
を試しましたが、変更しても元のファイルが左側のウィンドウに表示されないため、変更されたバージョンと比較できます。
git config --global diff.tool vimdiff
git config --global difftool.Prompt false
git config --global alias.d difftool
git d
と入力すると期待どおりの動作が得られ、vimサイクルで:wq
と入力すると、チェンジセットの次のファイルに移動します。
あなたはgit difftool
を試すことができます、それはこのようなことをするように設計されています。
最初に、diffツールをvimdiffに設定する必要があります
git config diff.tool vimdiff
次に、diffする場合は、git difftool
の代わりにgit diff
を使用します。期待どおりに機能します。
Git accepts kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge,
and opendiff as valid diff tools. You can also set up a custom tool.
git config --global diff.tool vimdiff
git config --global diff.tool kdiff3
git config --global diff.tool meld
git config --global diff.tool xxdiff
git config --global diff.tool emerge
git config --global diff.tool gvimdiff
git config --global diff.tool ecmerge