Vim vs VS Code: the same editing tasks, side by side

23 tasks · 10 with a documented equivalent in both · updated 2026-08-23

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.

TaskVimVS Code
Save:wCtrl + S
Quit / close editor:qCtrl + W
Undou
RedoCtrl + r
Delete current lineddCtrl + Shift + K
Copy (yank) current lineyyCtrl + C
Cut current lineddCtrl + X
Pastep
Find/Ctrl + F
Next matchnF3
Previous matchNShift + F3
ReplaceCtrl + H
Go to file startgg
Go to file endG
Go to lineCtrl + G
Line start / end0
Page down / upCtrl + f
Split editor:vspCtrl + \
Open another file:e filenameCtrl + P
Join linesJ
Toggle commentCtrl + /
Repeat last edit.
Record / run macroqa

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