You could use the vim plugins published here. Then you just need to set the difftool:
[multidiff] tool = vd -f
As an alternative application I would suggest meld
, which will show you modified files - you can then select just the files who's diffs you want to see.
See the screenshot here for an example.
Further to Marcos useful comment, as a third (manual alternative) if you want to use vimdiff
I would recommend following meld
's strategy in a script (possibly python
):
- use
git diff-files --name-status
andgit diff-index --name-status --cached HEAD
to identify files that need to be examined. - Get cached versions of these files and place in
/tmp/
- Open all of these files - the changed files and their cached versions - at once in
vimdiff
- though most likely not possible in the sense that you require- see below.
However, as vimdiff
itself doesn't seem to handle multiple diff tabs natively I recommend one of my other suggestions above.