Pode ser melhor usar git difftool para invocar uma ferramenta de comparação "interativa". Por exemplo:
Adapte a ferramenta gvimdiff integrada a mvim :
git config --global diff.tool gvimdiff
git config --global difftool.gvimdiff.path mvim
Ou configure mvimdiff do zero:
git config --global diff.tool mvimdiff
git config --global difftool.mvimdiff.cmd 'mvim -f -d "$LOCAL" "$REMOTE"'
Em seguida, execute git difftool para visualizar cada arquivo diferente em MacVim .
Se você realmente quer que o git diff use MacVim , você pode configurá-lo assim (sem nenhum arquivo de script externo):
git config diff.external 'd() { mvim -f -d "$2" "$5"; }; d'
De qualquer forma, você precisa garantir que o mvim apropriado esteja em seu PATH. Além disso, você precisará usar a opção -f ("não bifurcar" / "executar em primeiro plano") porque senão git diff provavelmente excluirá os arquivos temporários antes que MacVim tenha tido a chance de leia-os (pelo menos um arquivo de cada invocação será um arquivo temporário).