Mode Switching
i/a/o
: Enter insert mode (insert before, after, or on a new line).Esc
: Exit insert mode and return to normal mode.v
: Enter visual mode (highlight text).V
: Enter visual line mode (highlight entire lines).Ctrl + v
: Enter visual block mode (highlight blocks of text).
File Operations
:w
: Save the file.:wq
: Save and quit.:q
: Quit the editor.:q!
: Force quit without saving.:set number
: Show line numbers.:set nonumber
: Hide line numbers.:e filename
: Open a file in Vim.:r filename
: Insert the content of another file into the current file.:! command
: Execute an external command (e.g., :!ls to list files).
Cursor Movement
h/j/k/l
: Move the cursor left, down, up, and right.b
: Move to the beginning of the current/previous word.e
: Move to the end of the current/next word.w
: Move to the beginning of the next word.0
: Move to the beginning of the line.$:
Move to the end of the line.G
: Move to the end of the file.gg
: Move to the beginning of the file.Ctrl + f
: Scroll forward one page.Ctrl + b
: Scroll backward one page.H
: Move to the top of the screen.M
: Move to the middle of the screen.L
: Move to the bottom of the screen.Ctrl + o
: Jump back to the previous cursor position.Ctrl + i
: Jump forward to the next cursor position.
Editing Operations
dd
: Delete a line.d
motion: Delete text following a movement (e.g., dw to delete a word).x
: Delete a character.u
: Undo the last operation.Ctrl + r
: Redo the last undone operation.yy
: Copy (yank) a line.y
motion: Copy text following a movement (e.g., yw to copy a word).p
: Paste the copied or deleted text.r
: Replace a single character under the cursor.cw
: Change (delete and enter insert mode) a word.ci
: Change inside quotes.>>
: Indent a line.<<:
Un-indent a line.
Search and Replace
/pattern
: Search for a pattern.?pattern
: Search for a pattern in reverse.n
: Repeat the search in the same direction.N
: Repeat the search in the opposite direction.:%s/old/new/g
: Replace all occurrences of “old” with “new” in the file.:noh
: Clear search highlighting.
Buffer and Window Management
:bn
: Go to the next buffer.:bp
: Go to the previous buffer.:bd
: Close the current buffer.:split
: Split the window horizontally.:vsplit
: Split the window vertically.Ctrl + w w
: Switch between windows.