Git actually has a command dedicated for this purpose:
git difftool. It will open any suitable editor, depending the configuration; in my setup (and, I think, by default) this is vimdiff:
$ git config --global diff.tool
This should be available on any typical Unix system. It doesn't look exactly beautiful (rather a bit too colourful), but it does what you want.
And because it's essentially just a special mode of vim, it can also be used very well for editing changesets. For example, when simply executing
git difftool, the right-hand view is actually the file in the working directory. So you can easily amend any changes right in this editor, before committing them! (It will by default open both files in readopen mode though, so you actually need
:w! to save any changes made in
Ah, and: to get out of this editor, type
: is the standard vi prefix for ed commands,
q is the command for closing (quitting) a file, and the
a postfix applies this to all opened files.