I strongly agree with your advice to do code tidying as a separate commit from any substantive changes. I often tidy as I work on code, but using Mercurial and TortoiseHg I can cherry pick commits so it is generally easy to pick up all the "tidying" related changes and commit those then preform the "substantive changes" commit. Indeed, I moderately often cherry pick commits for substantive changes so I can highlight parts of a piece of work.
I avoid Git to the extent possible so I don't know what it offers for cherry picking changes, but I'll bet there is something in its slew of cobbled together tools that allows identifying and selecting changes to commit.
Optimising for fewest key strokes only makes sense transmitting to Pluto or beyond