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.