Fork me on GitHub

What @nate said. It took me a while to commit to using fugitive's way, but now it's almost all muscle memory: <Leader>gs does :tab :Gstatus, <C-n> to go to next changed file/chunk, open/collapse diff with =, stage/unstage (file or chunk) with -, or manually edit diff with dd, and finally cc to commit. Manually editing a diff is something that I've not been able to do in any other git UI, and especially useful if you want to separate out stuff like whitespace changes from others.

vim 2