A list of commands for Vim and Neovim.
- N : Normal mode
- I : Insert mode
- V : Visual mode
- Ex : Command-Line mode
- C-<char>:- Ctrl+<char>
- <leader>: By default- \
- Navigation
- Edition
- Arithmetic
- Undo and Redo
- Search and Replace
- Registers
- Macros
- Visual Mode
- Command-Line Mode
- Buffers, Tabs and Windows
- Files
- Code compilation
| Command | Mode | Description | 
|---|---|---|
| h/j/k/l | N | Move cursor | 
| gk | N | Up one display line | 
| gj | N | Down one display line | 
| gg | N | Move to start of file | 
| G | N | Move to end of file | 
| 0 | N | Move to start of line | 
| ^ | N | Move to first nonblank character | 
| $ | N | Move to end of line | 
| w/W | N | Forward to start of next word/WORD | 
| b/B | N | Backward to start of previous word/WORD | 
| e/E | N | Forward to end of current word/WORD | 
| ge/gE | N | Backward to end of previous word/WORD | 
| % | N | Jump between matching keywords | 
| <C-u> | N | Up one half of the screen | 
| <C-d> | N | Down one half of the screen | 
| <C-y> | N | Up one line | 
| <C-e> | N | Down one line | 
| zz | N | Center the cursor | 
| <C-o> | N | Go to previous jump location | 
| <C-i> | N | Go to next jump location | 
| m{a-zA-Z} | N | Mark current cursor location | 
| `{mark} | N | Move to the line where a mark was set | 
| `` | N | Move to position before last jump | 
| marks | Ex | Show list of marks | 
| Command | Mode | Description | 
|---|---|---|
| i | N | Insert a character before the cursor | 
| I | N | Insert a character at start of line | 
| a | N | Append a character after the cursor | 
| A | N | Append a character at end of line | 
| o | N | Append a line below the cursor | 
| O | N | Append a line up the cursor | 
| r | N | Replace one character | 
| R | N | Replace mode | 
| x | N | Delete character under the cursor | 
| d | N | Delete | 
| dd | N | Delete a line | 
| D | N | Delete to end of line | 
| c | N | Change | 
| cc | N | Change the entire line | 
| C | N | Change to end of line | 
| s | N | Substitute a character | 
| J | N | Join lines | 
| > | N | Increase indentation | 
| >> | N | Increase line indentation | 
| < | N | Decrease indentation | 
| << | N | Decrease line indentation | 
| ~ | N | Swap case | 
| gU | N | Make uppercase | 
| gu | N | Make lowercase | 
| <C-w> | I | Delete back one word | 
| <C-u> | I | Delete back to start of line | 
| <C-o> | I | Go to Normal mode for one command | 
| Command | Mode | Description | 
|---|---|---|
| <C-a> | N | Increment | 
| <C-x> | N | Decrement | 
| <C-r>={expr} | I | Evaluate and insert result of expression | 
| Command | Mode | Description | 
|---|---|---|
| . | N | Repeat last change | 
| u | N | Undo last change | 
| <C-r> | N | Redo last change | 
| Command | Mode | Description | 
|---|---|---|
| f{char} | N | Forward to next occurrence of {char} | 
| F{char} | N | Backward to previous occurrence of {char} | 
| t{char} | N | Forward to the character before the next occurrence of {char} | 
| T{char} | N | Backward to the character after the previous occurrence of {char} | 
| ; | N | Repeat the last character-search command | 
| , | N | Reverse the last character-search command | 
| /{pattern} | N | Search pattern forward | 
| ?{pattern} | N | Search pattern backward | 
| n | N | Jump to next search match | 
| N | N | Jump to previous search match | 
| * | N | Search for the word under the cursor | 
| \v | Ex | Regex searches | 
| \V | Ex | Literal searches | 
| %s/old/new/gc | Ex | Replace all occurrences (g) on all lines (%) with confirmation (c) | 
| Command | Mode | Description | 
|---|---|---|
| y | N | Yank | 
| yy | N | Yank the entire line | 
| p | N | Paste after the cursor | 
| P | N | Paste before the cursor | 
| <C-r>{reg} | I | Paste content of a register | 
| reg | Ex | Show registers content | 
| Register | Description | 
|---|---|
| "" | Unnamed register | 
| "{reg} | Select register | 
| "0 | Yank register | 
| "_ | Black hole register | 
| "+ | System clipboard register | 
| "* | Selection register | 
| "= | Expression register | 
| "% | Filename register | 
| Command | Mode | Description | 
|---|---|---|
| q{a-z} | N | Record a macro | 
| q | N | Stop recording macro | 
| @{a-z} | N | Play a macro | 
| @@ | N | Replay most recently used macro | 
| Command | Mode | Description | 
|---|---|---|
| v | N | Enable visual mode | 
| V | N | Enable line-wise visual mode | 
| <C-v> | N | Enable block-wise visual mode | 
| gv | N | Reselect last visual selection | 
| o | V | Go to the other end of higlighted text | 
| Command | Mode | Description | 
|---|---|---|
| : | N | Enable Command-Line mode | 
| @: | N | Repeat last Ex command | 
| <C-f> | Ex | Switch to the command-line window | 
| <C-r><C-w> | Ex | Insert the current word into the command prompt | 
| !<cmd> | Ex | Run a shell command | 
| shell | Ex | Start an interactive shell session | 
| terminal | Ex | Create a terminal buffer | 
| set spell | Ex | Enable spell checker | 
| z= | Ex | Suggest corrections for current word | 
| noh | Ex | Remove highlights | 
| Command | Mode | Description | 
|---|---|---|
| ls | Ex | Print the buffer list | 
| bn | Ex | Switch to next buffer | 
| bp | Ex | Switch to previous buffer | 
| bd | Ex | Delete buffer | 
| <C-w>s | N | Split current window horizontally | 
| <C-w>v | N | Split current window vertically | 
| <C-w>h/j/k/l | N | Move focus | 
| <C-w>H/J/K/L | N | Move windows | 
| <C-w>w | N | Cycle between open windows | 
| <C-w>c | N | Close active window | 
| <C-w>o | N | Close all windows except current | 
| tabnew | Ex | Create a new tab | 
| tabclose | Ex | Close a tab | 
| gt | N | Switch to next tab | 
| Command | Mode | Description | 
|---|---|---|
| w | Ex | Save file | 
| w !sudo tee % > /dev/null/ | Ex | Save file as root (Vim only) | 
| e | Ex | Edit file | 
| q | Ex | Exit vim | 
| Command | Mode | Description | 
|---|---|---|
| set makeprg={cmd} | Ex | Define the command executed by make | 
| make | Ex | Execute command | 
| copen | Ex | Open quickfix window | 
| cclose | Ex | Close quickfix window | 
| cfirst | Ex | Jump to quickfix first item | 
| clast | Ex | Jump to quickfix last item | 
| cn | Ex | Jump to next quickfix item | 
| cp | Ex | Jump to previous quickfix item |