I just pushed some stuff to github that you may find useful if you're either a git user, a vim user, or (best of all) both.

git-multidiff

For git users, there's git-multidiff , which works kind of like git difftool , except that it invokes your tool of choice once on the entire set of files, instead of once for each pair. This is handy if you have a diff tool that'll let you view multiple diffs simultaneously.

Full installation instructions are in a comment at the top of the file, but it basically consists of putting git-multidiff and _git-multidiff-helper in your path and adding an entry to your .gitconfig . Note that it requires Python (I've tested it with 2.7.2).

tab-multi-diff.vim

Speaking of “diff tools that'll let you view multiple diffs simultaneously”, that's what tab-multi-diff.vim is for. It lets you do a “vimdiff” on multiple pairs of files, with each pair in a separate tab.

To install it, just save tab-multi-diff.vim in your vim plugins directory (typically ~/.vim/plugin/ ).

To use it, you can invoke vim (or gvim) with a command like:

gvim -c 'silent call TabMultiDiff()' old-foo foo old-bar bar

Thats obviously kind of long, so you probably want to wrap it in a shell script. My script for doing this is vd (which also depends on v ). Note that that it imposes some of my personal preferences, so you may only want to use it as a starting point.

Using Them Together

To use git-multidiff and tab-multi-diff.vim together I have the following in my .gitconfig :

[multidiff] tool = vd -f