Overview

Defaults below come from VS Code’s official keyboard shortcut reference for macOS and Windows. Open the full list with ⌘K ⌘S (Ctrl+K Ctrl+S) and remap any binding in keybindings.json. Terminal-first editing is in vim-commands.

Files, panels, and windows

Learn the command palette and quick open first; they replace menus.

ActionmacOSWindows
Command palette⇧⌘P or F1Ctrl+Shift+P or F1
Open file by name⌘PCtrl+P
Settings⌘,Ctrl+,
Toggle sidebar⌘BCtrl+B
Explorer / Search / Source Control⇧⌘E / ⇧⌘F / ⌃⇧GCtrl+Shift+E / F / G
Split editor⌘\Ctrl+\
Focus editor group 1 / 2 / 3⌘1 / ⌘2 / ⌘3Ctrl+1 / 2 / 3
Next / previous editor⌃Tab / ⌃⇧TabCtrl+Tab / Ctrl+Shift+Tab
Close editor⌘WCtrl+W or Ctrl+F4
Reopen closed editor⇧⌘TCtrl+Shift+T
Save all⌥⌘SCtrl+K S
Zen mode⌘K ZCtrl+K Z

Navigate by symbol and definition instead of scrolling.

ActionmacOSWindows
Go to line⌃GCtrl+G
Symbol in file / in workspace⇧⌘O / ⌘TCtrl+Shift+O / Ctrl+T
Definition / peek / referencesF12 / ⌥F12 / ⇧F12F12 / Alt+F12 / Shift+F12
Back / forward⌃- / ⌃⇧-Alt+← / Alt+→
Problems panel / next error⇧⌘M / F8Ctrl+Shift+M / F8

Edit and multi-cursor

Use multi-cursor for repeated edits and column selection for aligned ones.

ActionmacOSWindows
Move line up / down⌥↑ / ⌥↓Alt+↑ / Alt+↓
Copy line up / down⇧⌥↑ / ⇧⌥↓Shift+Alt+↑ / ↓
Delete line⇧⌘KCtrl+Shift+K
Insert line below / above⌘Enter / ⇧⌘EnterCtrl+Enter / Ctrl+Shift+Enter
Toggle line / block comment⌘/ / ⇧⌥ACtrl+/ / Shift+Alt+A
Select line⌘LCtrl+L
Add next occurrence / skip it⌘D / ⌘K ⌘DCtrl+D / Ctrl+K Ctrl+D
Select all occurrences⇧⌘LCtrl+Shift+L
Add cursor above / below⌥⌘↑ / ⌥⌘↓Ctrl+Alt+↑ / ↓
Add cursor by click⌥+clickAlt+click
Column selection⇧⌥+dragShift+Alt+drag
Expand / shrink selection⌃⇧⌘→ / ←Shift+Alt+→ / ←
Fold / unfold region⌥⌘[ / ⌥⌘]Ctrl+Shift+[ / ]
Fold all / unfold all⌘K ⌘0 / ⌘K ⌘JCtrl+K Ctrl+0 / Ctrl+K Ctrl+J

Search and refactor

Rename with F2 rather than find and replace.

ActionmacOSWindows
Find / replace in file⌘F / ⌥⌘FCtrl+F / Ctrl+H
Find / replace in files⇧⌘F / ⇧⌘HCtrl+Shift+F / Ctrl+Shift+H
Rename symbolF2F2
Quick fix⌘.Ctrl+.
Format document / selection⇧⌥F / ⌘K ⌘FShift+Alt+F / Ctrl+K Ctrl+F

Terminal and debug

Keep the terminal and debugger on the keyboard.

ActionmacOSWindows
Show terminal / new terminal⌃` / ⌃⇧`Ctrl+` / Ctrl+Shift+`
Start or continue / stopF5 / ⇧F5F5 / Shift+F5
Step over / into / outF10 / F11 / ⇧F11F10 / F11 / Shift+F11
Toggle breakpointF9F9

Linux differences

Check these before copying Windows shortcuts to Linux.

ActionLinux
Add cursor above / belowShift+Alt+↑ / ↓
Format documentCtrl+Shift+I
Peek definitionCtrl+Shift+F10
Back / forwardCtrl+Alt+- / Ctrl+Shift+-
Close editor / toggle block commentCtrl+W / Ctrl+Shift+A

Gotchas

Avoid these; each is a common surprise in multi-cursor editing or formatting.

GotchaFix
⌘D adds one more occurrence, not all.⇧⌘L selects every occurrence at once.
Alt+click multi-cursor may not work on some Linux desktops.Set editor.multiCursorModifier to ctrlCmd.
Several formatters prompt on every format.Set editor.defaultFormatter in settings.json.