Neovim Cheatsheet
0.10The essential Neovim shortcuts and commands you'll actually use
Official docs →Neovim is a modern, extensible text editor built on the bones of Vim. If you've ever watched someone fly through code without touching a mouse and thought "I want that," you're in the right place. Neovim keeps everything that made Vim legendary — modal editing, composable commands, a language for manipulating text — and adds first-class Lua scripting, built-in LSP support, and an ecosystem of plugins that make it feel like a full IDE.
The learning curve is real. There's no getting around it. Your first week will feel slower than whatever editor you came from, and you'll probably quit back to VS Code at least once. That's normal. The key insight is that Neovim isn't about memorizing hundreds of shortcuts — it's about learning a small grammar of motions and operators that combine together. Once d (delete) + w (word) clicks as "delete word," you'll realize c (change) + w works too, and y (yank) + w, and suddenly you're not memorizing shortcuts anymore. You're speaking a language.
This cheatsheet covers what you'll actually reach for day to day. It's not exhaustive — the official docs are the real reference — but it should get you productive and help you build the muscle memory that makes Neovim worth it. We've included common LSP and Telescope bindings because most modern Neovim setups use them, but your specific keymaps may vary depending on your config. When in doubt, :map shows you what's bound where.
Modes
Neovim's power comes from its modal design. You're always in one of these modes, and knowing how to move between them is the foundation of everything else.
If you keep hitting Esc and nothing happens, you might be in a terminal buffer. Try Ctrl-\ then Ctrl-n to get back to Normal mode.
Navigation & Motions
Motions are half of Neovim's composable grammar. Learn these and you can combine them with any operator.
f and t are sleeper hits. Instead of mashing w five times, try f( to jump straight to the next parenthesis. Once this clicks, you'll wonder how you lived without it.
Editing Operators
Operators combine with motions to form commands. This is the real superpower: learn a few operators and a few motions, and you can do dozens of things.
ci" (change inside quotes) is probably the combo you'll use most. Cursor anywhere inside a quoted string? ci" clears the contents and drops you into Insert mode. Works with parentheses (ci(), braces (ci{), brackets (ci[), and tags (cit).
Undo, Redo & Registers
The . (dot) command repeats your last change. Make an edit once, then move to the next spot and hit . to apply it again. This is one of Vim's most underappreciated features and it makes repetitive edits almost effortless.
Search & Replace
Windows & Splits
Buffers & Tabs
Buffers are how Neovim tracks open files. Every file you open is a buffer, even if you can't see it. Tabs in Neovim are more like "layouts" than browser tabs — each tab can hold its own arrangement of splits.
Marks & Jumps
Marks let you bookmark positions in a file and jump back to them. Lowercase marks are local to a file, uppercase marks work across files.
Ctrl-o is your "back button." Every time you jump somewhere — search, goto definition, switching files — Neovim remembers where you were. Hit Ctrl-o to retrace your steps. It works across files. This alone will save you from getting lost.
Macros
Macros record a sequence of keystrokes and replay them. They're perfect for repetitive edits that are too complex for . but not worth writing a script for.
When recording a macro, start with 0 or ^ to move to a consistent position on the line, and end with j to move down. That way you can run it across multiple lines with something like 10@q and it'll work reliably.
LSP (Language Server Protocol)
Neovim has built-in LSP support since version 0.5. These are common default bindings, but your specific config might remap them. Check with :map or look at your lspconfig setup.
Telescope
Telescope is the fuzzy finder that most modern Neovim setups rely on. These are the typical <leader> bindings — yours might differ based on your config. If you're not using Telescope yet, it's the single plugin most worth installing.
Essential Commands
Tips & Tricks
Relative line numbers (set relativenumber) are a game-changer for vertical motions. Instead of guessing "is that 15 lines down?", you can see the number right there and type 15j. Most people set both number and relativenumber so the current line shows its absolute number while everything else is relative.
Visual Block mode (Ctrl-v) lets you edit columns. Select a vertical column, press I, type your text, and hit Esc — the text appears on every selected line. This is incredibly handy for adding prefixes, aligning code, or editing structured text.
You don't need to memorize every shortcut on this page. Start with hjkl, w/b, dd, yy, p, i, Esc, and :wq. Use those for a week. Then add ciw, f{char}, and Ctrl-d/Ctrl-u. Build up gradually — that's how everyone who's good at Vim actually learned it.
Run :checkhealth after setting up your config. It tells you exactly what's working, what's broken, and what's missing. It's the first command to run when something feels off.
The gx command in Normal mode opens the URL under your cursor in your browser. Handy when you're reading code with links in comments.