mkaz solutions log » home

Vim Cheat Sheet

Date: Aug 31, 2011

This is a small collection of tips and tricks I have collected for the vim text editor. This is by no means complete or a tutorial on how to use vim. Just a set of commands I don’t want to forget, but don’t use often enough to burn into memory, yet.

See the resources section below for a more complete introduction and a set of in-depth tutorials.

Navigation

Marks

ma “ mark spot label it a ‘a “ jump to spot “ ” jump to last spot you were


Copy and Paste Registers

Vim has a clipboard history stored in registers, you can also use these registers to cut and paste items to.

  "ad     " cut something to register a
  "ap     " paste something from register a
  :reg    " list registers

Deleting Lines

  :g/regexp/d    " delete all lines that match regexp
  :v/regexp/d    " delete all lines that do NOT regexp

  :15,20d       " delete lines 10-20

Buffer Management

  :ls             " matching list buffers
  :b [num|name]   " switch to buffer
  :b#             " switch to last buffer
  :bdel #         " delete buffer

Record Macro

  qa              " start recording macro in buffer a
  <do stuff>
  q               " end recording

Playback Macro

   @a
   50@a  (50 times)

Map System Command to Key Stroke

Map ctrl-j d to run system command /tmp/x.py

  :imap <c-j>d <c-r>=system('/tmp/x.py')<cr>

Toggle Spellcheck

  :map <F5> :setlocal spell! spelllang=en_us<CR>

Map F1 to Esc

I often find myself trying to hit escape and accidentally hit F1, which opens help. Since, I’ve never on purpose hit F1 for help, I map my F1 key to ESC.

  map <F1> <Esc>
  imap <F1> <Esc>

Additional Resources