すべての「git diffs」をVimdiffで表示します
質問
セットアップします git diff
vimdiffに包みます。vimdiffを使用したgit diff「ガイドとして、変更された多くのファイルがない限り、それは期待どおりに機能しています。
変更がある複数のファイルがあり、実行するとき 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
予想される動作、タイピングを生成します :wq
VIMで、Changesetの次のファイルにサイクルします。
他のヒント
あなたが試すことができます git difftool
, 、このことをするように設計されています。
まず、vimdiffにdiffツールを構成する必要があります
git config diff.tool vimdiff
次に、差分したいときは、使用するだけです 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
所属していません StackOverflow