Mastering Keyboard Shortcuts: A Developer's Secret Weapon
I Thought I Was Fast. Then I Learned the Real Shortcuts.
For years, I was that developer who used the mouse for everything. Opening files? Click. Running a command? Click-click-click through menus. Switching tabs? You guessed it.
I thought I was fast. I wasn't. I was just used to being slow.
Then I spent a month forcing myself to learn keyboard shortcuts properly. Not just the obvious ones like Cmd+C/Ctrl+C — the ones that actually change how you navigate code. My editor went from a tool I fought against to something that got out of my way.
Here's what I learned, and the shortcuts that made the biggest difference.
The Problem with "Learning Shortcuts"
The standard advice is terrible. "Learn all the shortcuts!" — as if there's a reasonable number of key combinations a human can memorize. VS Code alone has over 200 default shortcuts. Nobody is learning 200 shortcuts.
The trick isn't to learn more shortcuts. It's to learn the right ones — the 10-15 that cover 80% of what you do all day.
Level 1: The Basics Everyone Should Know (But Doesn't)
Cmd+P / Ctrl+P — Quick Open
This is the single most important shortcut in any modern editor. Hit it, type part of a filename, press Enter. No mouse, no file tree scrolling, no guessing which folder something is in.
Most people know this one. Few people use it for everything. I use it probably 50 times a day.
Cmd+Shift+P / Ctrl+Shift+P — Command Palette
Anything you can do with a menu or a mouse click, you can do here. Rename a file, run a formatter, change the theme, install an extension. If you forget a shortcut, open the command palette and start typing.
Cmd+D / Ctrl+D — Select Next Occurrence
This one changed my life. Place your cursor on a word, hit Cmd+D, and it selects the next occurrence of that word too. Hit it again, select another. Now you have multiple cursors on every instance, and you can edit them all at once.
Need to rename a variable that's used 12 times? Two seconds, done.
Level 2: Navigation Shortcuts That Save Hours
Ctrl+Tab / Cmd+Tab with a Twist
Everyone knows Cmd+Tab switches apps. But in VS Code, Ctrl+Tab (Windows/Linux) switches between recently opened files, not just tabs. Hold down Ctrl and tap Tab to cycle through your recent files. Release when you see the one you want.
This is way faster than clicking tabs because you don't need to visually locate the tab — your muscle memory takes over.
Cmd+Shift+O / Ctrl+Shift+O — Go to Symbol
Opens a searchable list of all functions, classes, and variables in the current file. Type the first few letters of a function name, press Enter, you're there. No scrolling through a 500-line file looking for handleUserAuthentication.
Ctrl+G — Go to Line
When your linter says "error on line 247," hit Ctrl+G, type 247, Enter. You're there. Don't scroll.
Level 3: Editor Sorcery
Multi-Cursor Editing (Cmd+Click / Alt+Click)
Hold Cmd (Mac) or Alt (Windows) and click in multiple places. You now have a cursor at each spot. Type once, and the text appears at all of them simultaneously.
This is invaluable for editing JSON configs, CSS lists, or any repetitive data structure. I use it more than any other feature in my editor.
Cmd+Shift+K / Ctrl+Shift+K — Delete Line
No more selecting the entire line, hitting Backspace, then dealing with the blank line. Just hit this and the line is gone. Your cursor moves to where you expect it. It's a small thing, but you do it hundreds of times a day.
Option+Up/Down or Alt+Up/Down — Move Line
Need to move a line up or down? Don't cut and paste. Just hit Option+Up/Down. The entire line moves. Add Shift to duplicate it.
Level 4: Terminal Without Leaving Your Chair
Ctrl+\` — Toggle Terminal
Opens and closes the integrated terminal. Combined with Cmd+P, this means you never need to leave your editor for git commands, npm installs, or running tests.
Cmd+K, Cmd+T — Select Terminal (VS Code Specific)
If you have multiple terminals open (server, tests, git), this shortcut lets you switch between them without clicking.
The System That Finally Worked for Me
Here's what I did, and it actually stuck:
- Week 1: Only used
Cmd+PandCmd+Shift+P. Nothing else. Forced myself to stop using the mouse for file opening. - Week 2: Added
Cmd+Dand multi-cursor. Whenever I found myself doing repetitive edits, asked "could I do this with multi-cursor?" - Week 3: Added navigation shortcuts —
Cmd+Shift+O,Ctrl+G,Ctrl+Tab. - Week 4: Added terminal shortcuts and line operations.
One week at a time. By week 4, I wasn't even thinking about it anymore. My hands just knew what to do.
Track Your Shortcuts
One thing that helped me was keeping a personal list in ZeroPad — a markdown note I kept open in a new tab, listing the 10 shortcuts I was actively practicing. Every time I caught myself reaching for the mouse, I checked the list.
I also stored my most-used terminal commands and aliases in Snippet Ark so I could access them from any machine. Nothing worse than memorizing a great set of shortcuts on your work laptop and realizing you don't have them on your personal one.
The Real Payoff
Learning keyboard shortcuts isn't about looking cool in front of other developers (though that's a nice side effect). It's about removing friction. Every time your hand leaves the keyboard to grab the mouse, you lose a fraction of a second — and more importantly, you break your flow state.
I didn't get faster overnight. But over a few months, the cumulative time savings is enormous. I'd estimate I code about 20-30% faster than I did before, and — more importantly — I stay in the zone longer because I'm not constantly context-switching to point and click.
What shortcuts saved you the most time? I'm always looking for the next one to add to my rotation.