VIM Quick Guide

Normal Mode:

  • h, j, k, l: Move the cursor left, down, up, and right respectively.
  • w: Move forward to the beginning of the next word.
  • b: Move backward to the beginning of the previous word.
  • 0 (zero): Move to the beginning of the line.
  • $: Move to the end of the line.
  • gg: Go to the first line of the document.
  • G: Go to the last line of the document.
  • u: Undo the last action.
  • Ctrl-r: Redo the last undone action.
  • x: Delete the character under the cursor.
  • dd: Delete the current line.
  • yy: Yank (copy) the current line.
  • p: Paste the yanked or deleted text after the cursor.
  • P: Paste the yanked or deleted text before the cursor.
  • /: Enter search mode to find a specific string.
  • n: Find the next occurrence of the searched string.
  • N: Find the previous occurrence of the searched string.
  • v: Enter Visual mode.

Insert Mode:

  • i: Enter Insert mode to insert text.
  • a: Enter Insert mode to append text.
  • o: Create a new line below the current line and enter Insert mode.
  • O: Create a new line above the current line and enter Insert mode.
  • Esc: Exit Insert mode and return to Normal mode.

Command-Line Mode:

  • :w: Save the file.
  • :q: Quit Vim (will not work if there are unsaved changes).
  • :wq or :x: Save and quit.
  • :q!: Quit without saving.
  • :e filename: Edit a different file.
  • :%s/old/new/g: Replace all occurrences of ‘old’ with ‘new’.
  • :set number: Show line numbers.
  • :set nonumber: Hide line numbers.

Visual Mode:

  • v: Start Visual mode for character selection.
  • V: Start Visual mode for line selection.
  • Ctrl-v: Start Visual mode for block selection.
  • y: Yank (copy) selected text.
  • d: Delete selected text.

This is just a small subset of Vim’s vast command set. Vim is highly customizable and has a strong scripting capability, so there are many more commands and options to explore. For a more comprehensive list and explanation, consider checking the Vim documentation or running :help within Vim.