これを~/.gitconfig
に追加しました:
[diff]
external = mvimdiff
[difftool]
Prompt = false
755 /bin/mvimdiff
を作成しました:
#!/bin/sh
mvim -d "$2" "$5"
macVimをgitdiffツールとして呼び出すため。しかし、gitフォルダーでコマンドgit diff
を実行すると、通常のdiff
からシェルに結果が出力されます。 MacVimはまったくありません。 .git/config
が.gitconfig
を上書きすることはないと確信しており、コンピューターを再起動して更新しようとしました。設定が機能しないのはなぜですか?
ありがとうございました。
git difftool
を使用して「インタラクティブな」差分ツールを呼び出す方がよい場合があります。例えば:
組み込みのgvimdiff
ツールをmvim
に適合させます。
git config --global diff.tool gvimdiff
git config --global difftool.gvimdiff.path mvim
または、mvimdiff
を最初から構成します。
git config --global diff.tool mvimdiff
git config --global difftool.mvimdiff.cmd 'mvim -f -d "$LOCAL" "$REMOTE"'
次に、git difftool
を実行して、MacVimにあるそれぞれの異なるファイルを表示します。
git diff
自体にMacVimを使用させたい場合は、次のように構成できます(外部スクリプトファイルなし)。
git config diff.external 'd() { mvim -f -d "$2" "$5"; }; d'
いずれにせよ、適切なmvim
がPATHにあることを確認する必要があります。また、-f
オプション(「フォークしない」/「フォアグラウンドで実行」)を使用する必要があります。そうしないと、git diff
が一時ファイルを削除する可能性がありますMacVimそれらを読み取る機会がありました(各呼び出しからの少なくとも1つのファイルは一時ファイルになります)。