Skip to content

Essential Keyboard Shortcuts — VS Code, IntelliJ, Vim, Emacs Side-by-Side

DodaTech Updated 2026-06-23 10 min read

In this tutorial, you'll learn about Essential Keyboard Shortcuts. We cover key concepts, practical examples, and best practices to help you understand and apply this topic effectively.

Keyboard shortcuts are the highest-leverage productivity investment a developer can make. Every second saved per operation compounds to hours saved per week. This reference maps the most common actions across the four major editor families so you can find the right shortcut regardless of which tool you use.

What You'll Learn

You'll get a side-by-side reference of the most important keyboard shortcuts in VS Code, IntelliJ IDEA, Vim, and Emacs, organized by action category, with tips for building muscle memory and transferring skills between editors.

Why Keyboard Shortcuts Matter

A developer performs 100+ navigation and editing operations per hour. Using keyboard shortcuts instead of the mouse saves 2-5 seconds per operation — that's 3-8 minutes per hour, or 2-4 hours per week. Over a year, that's 100-200 hours of reclaimed time.

DodaTech's engineering team maintains a shared keyboard shortcut cheat sheet that every new hire studies during their first week. The result: measurable productivity improvement of 25% across the team.

Learning Path

flowchart LR
  A[Editor Basics] --> B[Keyboard Shortcuts
You are here] B --> C[Speed Optimization] C --> D[Custom Keybindings] style B fill:#f90,color:#fff

Cursor Movement

Action VS Code IntelliJ IDEA Vim Emacs
Move up Up Up k C-p
Move down Down Down j C-n
Move left Left Left h C-b
Move right Right Right l C-f
Word left Ctrl+Left Ctrl+Left b M-b
Word right Ctrl+Right Ctrl+Right w M-f
Line start Home Home 0 C-a
Line end End End $ C-e
File start Ctrl+Home Ctrl+Home gg M-<
File end Ctrl+End Ctrl+End G M->
Next empty line } M-}
Previous empty line { M-{

File and Symbol Navigation

Action VS Code IntelliJ IDEA Vim Emacs
Find file Ctrl+P Ctrl+Shift+N :e (path) C-x C-f
Find class Ctrl+T Ctrl+N
Find symbol Ctrl+Shift+O Ctrl+Alt+Shift+N :g/pattern M-x
Go to line Ctrl+G Ctrl+G :42 M-g g
Go to definition F12 Ctrl+B gd M-.
Go back Ctrl+Alt+- Ctrl+Alt+Left Ctrl+o C-u C-SPC
Go forward Ctrl+Shift+- Ctrl+Alt+Right Ctrl+i C-u C-SPC C-u
Recent files Ctrl+Tab Ctrl+E :bprevious C-x b
Toggle sidebar Ctrl+B Ctrl+Shift+F12

Editing Shortcuts

Basic Editing

Action VS Code IntelliJ IDEA Vim Emacs
Cut line Ctrl+X Ctrl+Y (delete) dd C-a C-k
Copy line Ctrl+C Ctrl+D (duplicate) yy C-@
Paste Ctrl+V Ctrl+V p C-y
Undo Ctrl+Z Ctrl+Z u C-/
Redo Ctrl+Shift+Z Ctrl+Shift+Z Ctrl+r C-g C-/
Indent Tab Tab >> C-x TAB
Dedent Shift+Tab Shift+Tab << C-x TAB (adjust)
Comment line Ctrl+/ Ctrl+/ gcc M-;
Comment block Shift+Alt+A Ctrl+Shift+/ gc (visual) M-;
Format document Shift+Alt+F Ctrl+Alt+L gg=G C-x h C-M-\
Delete word Ctrl+Backspace Ctrl+W daw M-d
Delete line Ctrl+Shift+K Ctrl+Y dd C-a C-k

Multi-Cursor and Selection

Action VS Code IntelliJ IDEA Vim Emacs
Insert cursor Alt+Click Alt+Click
Select all matches Ctrl+Shift+L Ctrl+Alt+Shift+J :%s// M-%
Add next match Ctrl+D Alt+J * then n M-C-n
Column select Shift+Alt+Drag Shift+Ctrl+Alt+Drag Ctrl+v C-x SPC
Select word Ctrl+D Ctrl+W viw M-f M-b
Expand selection Shift+Alt+Right Ctrl+W (grow) v (visual) C-@

Refactoring Shortcuts

Action VS Code IntelliJ IDEA Vim Emacs
Rename F2 Shift+F6 :%s/old/new/g M-%
Extract method Ctrl+Shift+R Ctrl+Alt+M
Extract variable Ctrl+Shift+R (extract) Ctrl+Alt+V
Inline Ctrl+Shift+R (inline) Ctrl+Alt+N
Move line up Alt+Up Alt+Shift+Up :m -2 C-x C-u
Move line down Alt+Down Alt+Shift+Down :m +1 C-x C-d
Change signature Ctrl+F6
Find usages Shift+F12 Alt+F7 :g/pattern M-x rgrep

Debugging Shortcuts

Action VS Code IntelliJ IDEA Vim Emacs
Start debug F5 Shift+F9 M-x gdb
Toggle breakpoint F9 Ctrl+F8 :break C-x SPC
Step over F10 F8 :next C-c C-n
Step into F11 F7 :step C-c C-s
Step out Shift+F11 Shift+F8 :finish C-c C-f
Continue F5 F9 :continue C-c C-c
Stop Shift+F5 Ctrl+F2 :quit C-c C-q
Evaluate expression Ctrl+Shift+Y Alt+F8 :echo C-c C-p

Search Shortcuts

Action VS Code IntelliJ IDEA Vim Emacs
Find in file Ctrl+F Ctrl+F / C-s
Find and replace Ctrl+H Ctrl+R :%s/old/new/g M-%
Find in project Ctrl+Shift+F Ctrl+Shift+F :vimgrep // ** M-x rgrep
Replace in project Ctrl+Shift+H Ctrl+Shift+R :vimgrep // ** M-x query-replace-regexp
Find next F3/Enter F3 n C-s
Find previous Shift+F3 Shift+F3 N C-r
Go to symbol Ctrl+Shift+O Ctrl+Alt+Shift+N :tag M-.

Editor-Specific Tips

VS Code Tips

// Custom keybindings (keybindings.json):
[
  {
    "key": "ctrl+shift+/",
    "command": "editor.action.blockComment",
    "when": "editorTextFocus]
  },
  {
    "key": "ctrl+alt+down",
    "command": "editor.action.insertCursorBelow",
    "when": "editorTextFocus"
  }
]

IntelliJ Tips

// Learn shortcuts progressively:
// 1. Install Key Promoter X — shows shortcut for every clicked action
// 2. Practice with the IDE features trainer (Help → IDE Features Trainer)
// 3. Use Find Action (Ctrl+Shift+A) when you forget a shortcut

// Custom shortcuts:
// File → Settings → Keymap
// Search for any action and assign a shortcut

Vim Tips

" Learn shortcuts in Vim:
" 1. Run vimtutor (terminal command)
" 2. Add to .vimrc:
set showcmd           " Show incomplete commands
set timeoutlen=300    " Shorter timeout for key sequences
" 3. Use :help key-notation to understand key names

Emacs Tips

;; Learn shortcuts in Emacs:
;; 1. Follow the built-in tutorial: C-h t
;; 2. Use the keybinding help:
;;    C-h k <key>   -- describe key
;;    C-h b         -- list all keybindings
;;    C-h m         -- describe current mode keybindings

Building Muscle Memory

Practice schedule for new shortcuts:
  Week 1: Navigation shortcuts only (5-10 per day)
  Week 2: Basic editing shortcuts (cut, copy, paste, undo, redo)
  Week 3: Selection and multi-cursor operations
  Week 4: Refactoring shortcuts
  Week 5: Debugging shortcuts
  Week 6: Custom keybindings and workflow optimization

Daily practice:
  - Disable your mouse for 30 minutes
  - Use keyboard-only mode for code review
  - Print a cheat sheet and keep it visible

Common Shortcut Mistakes

1. Learning Too Many at Once

Learn 5 shortcuts per day maximum. Master them before adding more. Trying to learn 50 shortcuts at once leads to remembering none.

2. Relying on Mouse for Navigation

Every time you reach for the mouse, ask: "Is there a keyboard shortcut for this?" If yes, learn it. If no, create one.

3. Not Customizing Shortcuts

Default shortcuts don't suit everyone. If a common action feels awkward to type, rebind it. Dozens of developers rebind their IDE's default keymaps daily.

4. Ignoring Editor-Specific Features

Some actions don't have shortcuts in some editors. Multi-cursor in Vim requires plugins. Method extraction in Emacs requires a package. Know your editor's limits.

5. Using the Same Shortcut Across Editors

Muscle memory from one editor interferes with another. If you switch editors regularly, keep a cheat sheet for each one. Consider using one editor per project type.

Practice Questions

1. What is the keyboard shortcut for multi-cursor in VS Code and IntelliJ? VS Code: Alt+Click or Ctrl+D (add next match). IntelliJ: Alt+Click or Alt+J (add next match).

2. How do you find a file by name in each editor? VS Code: Ctrl+P. IntelliJ: Ctrl+Shift+N. Vim: :e or CtrlP plugin. Emacs: C-x C-f (find file) or Helm/M-x counsel-find-file.

3. What shortcut deletes an entire line in each editor? VS Code: Ctrl+Shift+K. IntelliJ: Ctrl+Y. Vim: dd. Emacs: C-a C-k (go to line start, kill to end).

4. What is the difference between a keybinding and a keyboard shortcut? They're the same concept — a key combination that triggers a command. "Keybinding" is more commonly used in configurable editors, while "keyboard shortcut" is the general term.

5. Challenge: You're reviewing a Pull Request with 30 files changed. Use only keyboard shortcuts to navigate each file, find changed lines, add comments, and approve the review. What shortcuts would you use? Answer: Open file list (Ctrl+P/Ctrl+E), navigate next file (Ctrl+Tab/Ctrl+PageDown), find changes (Ctrl+G in diff view or :g/^[+-]/ in Vim), comment (Ctrl+/ or gc), approve (browser-based PR tool with Tab navigation).

FAQ

How long does it take to memorize shortcuts for a new editor?

Most developers become comfortable within 2 weeks of daily use. True mastery without thinking takes 1-2 months. Use a cheat sheet during the transition.

Should I use the same shortcuts across all editors?

Not necessarily. Each editor has different strengths. Learn the native shortcuts for each one instead of forcing a universal keymap — you'll get better results.

What is the single most impactful shortcut to learn?

The "Go to definition" / "Go to declaration" shortcut. In any editor, this shortcut (F12, Ctrl+B, gd, M-.) saves more time than any other by eliminating manual file navigation.

How do I discover shortcuts I don't know exist?

Install a shortcut discovery plugin: Key Promoter X (IntelliJ), Shortcut Mapper (VS Code), or use the built-in help system (C-h b in Emacs, :help index in Vim).

Can I print a customized shortcut reference?

Most editors can export your keybindings. In VS Code: "Keyboard Shortcuts" → click the ellipsis → "Show User Keybindings" → copy to a file. In IntelliJ: File → Settings → Keymap → Export.

What's Next

IDE Shortcuts Comparison
VS Code Guide
Vim Editor Guide

Built by the developers of Doda Browser, DodaZIP, and Durga Antivirus Pro. Updated 2026-06-23.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro