Vim Keyboard Shortcuts

Vim is a modal editor: keys mean different things in Normal, Insert, and Visual mode, so most shortcuts here are typed in Normal mode with no modifier at all. Because Vim is a terminal application, its bindings are identical on every platform. HKeys covers Vim on Windows, Mac, and Linux.

Choose your Platform: full shortcut list + printable PDF

Windows, Mac, and Linux Vim runs in a terminal, so there is no OS-specific modifier scheme to learn: the same Normal-mode letters, Ctrl-combinations, and : commands work identically on all three platforms.

What Vim shortcuts cover

Modal editing. Normal mode is for moving and issuing commands, Insert mode is for typing text, and Visual mode is for selecting. Most keys only do something in Normal mode, no modifier required.

Motions and operators. Motions like w (word), $ (end of line), and gg (top of file) combine with operators like d (delete), c (change), and y (yank): dw deletes to the next word, y$ yanks to the end of the line.

Registers and macros. "ayy yanks a line into register a; @a replays it. qa records a macro into register a for repeating multi-step edits.

Window splits. Ctrl+W is the prefix for the whole window family: Ctrl+W s splits, Ctrl+W j/k moves between splits, Ctrl+W q closes one.

Text objects. diw deletes the word under the cursor regardless of where in the word the cursor sits; ci" changes the contents of the nearest quoted string.

Printable PDF

A printable PDF of Vim shortcuts is available for each platform. The motions, operators, and text objects are the ones worth learning first, everything else builds on them.

FAQ

Are Vim's keyboard shortcuts the same on Windows, Mac, and Linux?

Yes. Vim runs in a terminal (or as a GUI front end like gVim, MacVim, or GVim on Linux) and uses the same Normal-mode keys, Ctrl-combinations, and : commands on every platform. There is no Cmd-for-Ctrl swap to learn.

Why do some Vim shortcuts use Shift and others don't?

Vim is case-sensitive: lowercase and uppercase versions of the same letter are different commands. dd deletes a line, but D (Shift+d) deletes to the end of the line. The Shift key is only part of a shortcut when the command itself is a capital letter or a shifted symbol.

What does dw actually do in Vim?

d is the delete operator and w is the "move forward a word" motion, so dw deletes from the cursor to the start of the next word. Any operator (d, c, y) can combine with any motion (w, $, gg, and more) the same way.

How do I exit Vim?

Press Esc to make sure you're in Normal mode, then type :wq and press Enter to save and quit, or :q! and Enter to quit without saving. ZZ (Shift+z twice) is a shorthand for save-and-quit.

References

This section lists official sources and documentation for Vim. Use these references to verify shortcut behavior instead of trusting old notes, screenshots, or memory.

Want to suggest a new app, report a bug, or get help? Email us at info@hkeys.app.

For anything else or just a quick hello, write to us at info@hkeys.app.