Acabei de configurar o git e configurar o git mergetool para o vimdiff e ele funciona como esperado.
Se eu definir git config --global diff.tool vimdiff comporta-se estranhamente:
git diff x y abrirá menos e exibirá as alterações na forma de saída linear normal
se eu usar o git difftool x y, ele apenas imprime a saída no console - novamente na forma de diff linear. (O habitual @@ -1,40 +1 @@ - + form)
Eu tentei todos os truques diferentes com external = vimdiff e tool = vimdiff etc. Nada funciona. Alguma sugestão?