Useful vi commands

  • 0 (zero), $: cursor to start of the line, cursor to end of the line
  • :%!python -m json.tool: Format prettify json.
  • w, b: beggining of next word, beginning of preceding word
  • :n (where n is a number) or nG: move cursor to line n
  • :$ or G: Move cursor to last line
  • ^f,^b: move forward / backwards one screen
  • ^d, ^u: move down (forward)/up (back) one half screen
  • u: undo
  • yy: copy line
  • Nyy: copy the next N lines
  • p: paste


* x delete single character under cursor
Nx delete N characters, starting with character under cursor
dw delete the single word beginning with character under cursor
dNw delete N words beginning with character under cursor;
e.g., d5w deletes 5 words
D delete the remainder of the line, starting with current cursor position
* dd delete entire current line
Ndd or dNd delete N lines, beginning with the current line;
e.g., 5dd deletes 5 lines