Возможно, вам лучше использовать 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 сможет их прочитать (хотя бы один файл из каждого вызов будет временным файлом).