I just set up git and set git mergetool to vimdiff and it works as expected.
If I set git config --global diff.tool vimdiff it behaves strangely:
git diff x y will open less and display the changes in normal linear output form
if I use git difftool x y it just prints the output into the console - again in linear diff form. ( The usual @@ -1,40 +1 @@ - + form)
I tried all the different tricks with external = vimdiff and tool = vimdiff etc. Nothing works. Any suggestions?