Here is a summary of the essential commands for Neovim (nvim) organized by mode for easy viewing.
I hope this helps those using Neovim.

1. Mode Switching
| Shortcut | Description |
|---|---|
Esc or Ctrl + [ |
Switch to Normal Mode |
i |
Enter Insert Mode at the current cursor position |
I |
Enter Insert Mode at the beginning of the current line |
a |
Enter Insert Mode after the cursor |
A |
Enter Insert Mode at the end of the current line |
o |
Add a new line below and enter Insert Mode |
O |
Add a new line above and enter Insert Mode |
v |
Enter Visual Mode |
V |
Enter Line Visual Mode |
: |
Enter Command Mode |
2. File Management
| Command | Description |
|---|---|
:w |
Save the file |
:wq or :x |
Save and exit |
:q |
Exit (if no changes) |
:q! |
Force exit (ignore changes) |
:e filename |
Open a file or create a new one |
:ls |
List currently open buffers |
:bn, :bp |
Move to the next or previous buffer |
:edit |
Same as :e. If the specified file path doesn't exist, Nvim opens a new empty buffer with that name |
:e [new_file_path] |
Create a new directory or file (add / at the end to create a directory) |
3. Cursor Movement
| Shortcut | Description |
|---|---|
h, j, k, l |
Move left (h), down (j), up (k), right (l) |
w, b |
Move forward (w) and backward (b) by word |
0, $ |
Move to the beginning (0) or end ($) of the current line |
gg, G |
Move to the top (gg) or bottom (G) of the file |
{n}G |
Move to the {n}th line (e.g., 10G moves to the 10th line) |
Ctrl + d |
Scroll down half a page |
Ctrl + u |
Scroll up half a page |
4. Editing Commands
| Shortcut | Description |
|---|---|
dd |
Delete the current line |
dw |
Delete a word |
x |
Delete the current character |
yy |
Copy the current line |
p, P |
Paste the copied/deleted content after (p) or before (P) |
u |
Undo |
Ctrl + r |
Redo |
r{char} |
Replace the current character with {char} |
:%s/find_word/replace_word/g |
Search and replace a word throughout the document |
5. Search and Replace
| Command | Description |
|---|---|
/search_term |
Search forward |
?search_term |
Search backward |
n |
Go to the next search result |
N |
Go to the previous search result |
| :noh | Remove search highlights |
6. Window Management
| Command | Description |
|---|---|
:split or :sp |
Split the window horizontally |
:vsplit or :vsp |
Split the window vertically |
Ctrl + w, hjkl |
Move between windows (up, down, left, right) |
Ctrl + w, c |
Close the current window |
Ctrl + w, = |
Equalize the size of all windows |
| Ctrl+w, > | Increase the size of the selected window |
| Ctrl+w, < | Decrease the size of the selected window |
7. Tab Management
| Command | Description |
|---|---|
:tabnew |
Open a new tab |
gt, gT |
Move to the next tab (gt) or previous tab (gT) |
:tabclose |
Close the current tab |
8. nvim-tree Commands
Creation Command Input (Default Shortcut):
a(add): Creates a new file or directory. After pressinga, a prompt appears at the bottom where you can inputfile/directory name.- Input
file.pyand pressEnter-> Createsfile.py - Input
new_dir/and pressEnter-> Createsnew_dir - Input
another_dir/another_file.txtand pressEnter-> Simultaneously createsanother_dirandanother_file.txtwithin it
- Input
d(delete): Deletes the selected file/directoryr(rename): Renames the selected file/directoryx(cut),c(copy),p(paste): Cut/Copy/Paste files/directories
9. Using Nvim's Built-in Terminal (:terminal or :term)
Nvim has a built-in terminal emulator that allows you to directly execute Linux commands.
-
Opening the Terminal: Input
:terminalor:termin command mode and pressEnter.- A new terminal buffer opens within the Nvim window.
- Press
iin normal mode to start terminal input.
-
Exiting the Terminal:
- Press
Ctrl + \and thenCtrl + n(to return to Normal Mode) - Or enter the
exitcommand in the terminal
- Press
-
Returning to File Editing Mode:
- Use
Ctrl + w w(to move to the next window) orCtrl + w h/j/k/l(using arrow keys to navigate) to return to the file window you were editing.
- Use
Referencing this command cheat sheet will help you use Neovim more efficiently!
There are no comments.