Linux Commands - Common vi editor commands

by
Jeremy Canfield |
Updated: May 25 2024
| Linux Commands articles
Toggle between Command / Insert / Replace Modes
Mode | Command | What it does |
Command | i | Changes the mode to "Insert" with the cursor before the current position |
Command | a | Changes the mode to "insert" with the cursor after the current position |
Command | I | Changes the mode to "insert" with the cursor at the beginning of the current line |
Command | A | Changes the mode to "insert" with the cursor at the end of the current line |
Command | o | Changes the mode to "insert" and inserts a new line below the current line |
Command | O | Changes the mode to "insert" and inserts a new line above the current line |
Command | R | Changes the mode to "replace" and lets you replace characters |
Insert | esc | Changes the mode to "Command" |
Save / Quit
Mode | Command | What it does |
Command | :w | Writes / save |
Command | :q | Quits vi editor |
Command | :q! | Quits vi editor without saving |
Command | :x | Write, save, and exit |
Command | Shift ZZ | Write, save, and exit |
Command | :e! | Returns the document to the last saved copy (undo) |
Copy / Paste / Change / Replace / Delete Text
Mode | Command | What it does |
Command | yy | "yank", copies the entire line |
Command | yw / y2w / y3w | "yank", copies the word / copies 2 words / copies 3 words |
Command | p (lower case) | "paste", after the cursor |
Command | P (upper case) | "paste", before the cursor |
Command | cc | "change", erases the entire line so you can "change" the line |
Command | cw / c2w / c3w | "change", allows you to change the word you are on / change 2 words / change 3 words |
Command | r | Let's you replace the character the cursor is on |
Command | :%s/old/new/g | Finds every occurrence of "old" and replaces it with "new". |
Command | :%s/old/new/gi | Finds every occurrence of "old" and replaces it with "new". i means "old" is not case sensitive. |
Command | :%s/old/new/gc | Finds every occurrence of "old" and replaces it with "new". c means there is an interactive prompt. |
Command | dd | Deletes entire line |
Command | dw / d2w / d3w | Deletes the word the cursor is on / deletes 2 words / deletes 3 words |
Command | u | undo the last change |
Command | U | undo all the changes to the current line |
Searching
Mode | Command | What it does |
Command | / | Searches, starting at the beginning of the file |
Command | ? | Searches, starting at the end of the file |
Command | n | Search down for the next match of the string |
Command | N | Search up for the next match of the string |
Moving the cursor
Mode | Command | What it does |
Command | h | Moves the cursor to the left |
Command | j | Moves the cursor down one line |
Command | k | Moves the cursor up one line |
Command | l | Moves the cursor to the right |
Did you find this article helpful?
If so, consider buying me a coffee over at