The -v option, which the author is referring to when talking about writing commit messages in vim is much better: you get to author the commit message in the $EDITOR of your choice and you can inspect the full diff while doing so.
If you're using fzf [0] for history recall (ctrl+R) it also has the nice side-effect for not cluttering up your history.
You could if you also have the output of git diff. Then you could stage and unstage hunks or parts of them using a combination of recountdiff and git apply --cached
They provide a conceptual framework for developer to orient and frame their actions with (sort of) right information density in the “native” $EDITOR environment.
I think VSCode has that git plugin which is very popular but I can’t remember the name - gives great git log/blame interface.
On my computer, I usually commit using `git gui` (and CLI for everything else). Mostly because I can see the full changes I'm commiting. Now, I can do it with vim for the occasional commit from some server.
If you're using fzf [0] for history recall (ctrl+R) it also has the nice side-effect for not cluttering up your history.
[0] https://github.com/junegunn/fzf