// TODO: write actual code

The Keyboard Shortcuts Obsession

2021-09-15 | Alex Kucherenko | 3 min read
Эта статья пока не переведена на ваш язык.

I have a confession. I've spent roughly forty hours of my life learning keyboard shortcuts. Not using them productively -- learning them. Practicing them. Printing cheat sheets and taping them to my monitor. Watching YouTube tutorials where someone navigates an entire codebase without touching a mouse, their fingers dancing across the keyboard like a concert pianist performing Rachmaninoff, except instead of music they're producing a perfectly formatted React component.

At some point, this crossed the line from productivity optimization to hobby. I know this because I started learning shortcuts for actions I perform maybe twice a month. "Move line down" -- sure, useful. "Transpose two characters" -- occasionally handy. "Open the diff view for the currently selected file in the third split pane while filtering by staged changes only" -- okay, now I'm just collecting achievements.

The Efficiency Paradox

Here's the math that keyboard shortcut enthusiasts don't want you to see. Let's say a shortcut saves you two seconds compared to using a menu. Let's say you use that shortcut ten times a day. That's twenty seconds per day, about seven minutes per month, roughly an hour and a half per year. Sounds good, right? Except learning the shortcut took fifteen minutes of practice, so the break-even point is after about six weeks. For common shortcuts, this math works beautifully. For obscure shortcuts, you'll recoup your investment sometime around the heat death of the universe.

But efficiency isn't really the point, is it? The point is flow. When you know your shortcuts, there's no friction between thought and action. You think "rename this variable" and your fingers press F2 before the thought is fully formed. You think "go to definition" and you're already there. The tool disappears, and you're working directly with the code instead of working with the tool that works with the code. That layer of indirection matters more than the seconds saved.

The Dark Side

The dark side of keyboard shortcut obsession is what happens when you use someone else's computer. You sit down, press your muscle-memory shortcuts, and everything goes wrong. Their IDE is configured differently. Their keybindings are default. They use -- and I say this with the gravity it deserves -- a mouse. You watch them right-click, navigate a menu, and select "Rename Symbol" with the patience of a person who has never known a better way. It takes four seconds. Four seconds! That's four seconds of their life they'll never get back, and you want to tell them, but you also know that proselytizing keyboard shortcuts is the developer equivalent of being a vegan who announces it at every dinner party. So you say nothing, and it costs you more emotional energy than the shortcut would ever save.