Vim is a modal text editor descended from Vi, with Neovim serving as a modern, extensible fork that adds built-in LSP support, Lua scripting, and a robust plugin ecosystem. Unlike traditional editors, Vim operates through distinct modes—Normal, Insert, Visual, and Command-line—enabling rapid text manipulation through composable commands. The core philosophy is editing at the speed of thought: operators combine with motions and text objects to form a grammar (ciw = change inner word), making complex edits concise and repeatable. Neovim 0.12 (released March 2026) added a built-in plugin manager (vim.pack), native insert-mode auto-completion, expanded LSP defaults, and the :lsp command—reducing the need for third-party plugins significantly.
What This Cheat Sheet Covers
This topic spans 31 focused tables and 321 indexed concepts. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
Table 1: Modes and Mode Switching
Everything in Vim begins with understanding modes—the single idea that trips up newcomers and unlocks the editor once it clicks. Normal mode is home base for commands, Insert mode is where you actually type, Visual mode selects, and Command-line mode runs Ex commands; learning to move between them fluidly is the first real skill.
| Mode | Example | Description |
|---|---|---|
<Esc> or <C-[> | • Default mode for navigation and commands • no text is inserted directly. Press <Esc> from any mode to return here. | |
i | • Enters insert before cursor • a appends after cursor• o opens a new line below. Type text normally in this mode. | |
v | • Character-wise selection • V selects entire lines• <C-v> enters Visual Block mode for rectangular column selection. | |
: | • Execute Ex commands like :w (write), :q (quit), :s (substitute)• prefix with : from Normal mode. |