Vim vs VS Code: the same editing tasks, side by side
Vim and VS Code are not two keymaps for the same model of editing; they are two models. Vim's keys are single letters that only mean something in normal mode (dd deletes a line because d is the delete operator and the second d means 'this line'), while VS Code's are chorded shortcuts that work regardless of state. The table pairs the same task in both so that someone moving between them, or running the Vim extension inside VS Code, can see where the keys differ and where one editor simply has no single-key equivalent.
| Task | Vim | VS Code |
|---|---|---|
| Save | :w | Ctrl + S |
| Quit / close editor | :q | Ctrl + W |
| Undo | u | — |
| Redo | Ctrl + r | — |
| Delete current line | dd | Ctrl + Shift + K |
| Copy (yank) current line | yy | Ctrl + C |
| Cut current line | dd | Ctrl + X |
| Paste | p | — |
| Find | / | Ctrl + F |
| Next match | n | F3 |
| Previous match | N | Shift + F3 |
| Replace | — | Ctrl + H |
| Go to file start | gg | — |
| Go to file end | G | — |
| Go to line | — | Ctrl + G |
| Line start / end | 0 | — |
| Page down / up | Ctrl + f | — |
| Split editor | :vsp | Ctrl + \ |
| Open another file | :e filename | Ctrl + P |
| Join lines | J | — |
| Toggle comment | — | Ctrl + / |
| Repeat last edit | . | — |
| Record / run macro | qa | — |
Gaps in the table are real gaps, not missing data. VS Code's undo, redo and paste are the OS-standard Ctrl + Z, Ctrl + Y and Ctrl + V, which our VS Code table omits because they are not editor-specific; Vim has no single command for 'replace all' outside the :s command-line syntax, and VS Code has no equivalent of Vim's repeat (.) or macros (qa / @a). The Vim movement keys h j k l and the text objects (ci" and di" on the Vim page) have no counterpart at all in stock VS Code.
If you use both, the practical rule is that VS Code's global shortcuts (Ctrl + P, Ctrl + Shift + P, Ctrl + `) keep working under the Vim extension, while the editing keys inside the text area follow Vim's modes. The full tables on each tool's page list the rest, including Vim's visual modes and VS Code's multi-cursor, debugging and panel shortcuts.
Full references: Vim (57) · VS Code (51) · all comparisons