質問

セットアップします 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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top