Updated: April 23rd, 2008
[WORK IN PROGRESS] Here is a list of commands that I use every day with vim, in no particular order. Out of a billion possible key combinations, I found these to be irreplaceable and simple enough to remember.
| 
 *  | 
 search for the word under cursor (to the end of the file)  | 
| 
 #  | 
 search for the word under cursor (to the top of the file)  | 
| 
 ctrl-p,ctrl-n  | 
 suggest (p)revious or (n)ext autocomplete from the list of existing keywords in the file or included files (!).  | 
| 
 :go NNN  | 
 go to byte NNN  | 
| 
 .  | 
 redo last command  | 
| 
 /SEARCH TERM  | 
 search document for SEARCH TERM  | 
| 
 :%s/FOO/BAR/gci  | 
 replace FOO with BAR (g)lobally, case (i)insensitively, and asking for (c)onfirmation  | 
| 
 n (N)  | 
 next (previous) search result  | 
| 
 %  | 
 find and jump to a matching brace or parenthesis  | 
| 
 u  | 
 undo  | 
| 
 ctrl-r  | 
 redo  | 
| 
 r CHAR  | 
 replace character under curson with CHAR  | 
| 
 i  | 
 start editing before current character  | 
| 
 I  | 
 start editing in the beginning of current line  | 
| 
 a  | 
 start editing after current character  | 
| 
 A  | 
 start editing at the end of current line  | 
| 
 o  | 
 start editing on the next line  | 
| 
 O  | 
 start editing on the previous line  | 
| 
 :wq or ZZ  | 
 write file and exit  | 
| 
 ctrl-v  | 
 visual block select (rectangular)  | 
| 
 shift-v  | 
 visual line select  | 
| 
 ctrl(or shift)-v y or d  | 
 copy or delete selected text  | 
| 
 yy  | 
 yank (copy) current line  | 
| 
 yNNN arrow up/down  | 
 yank NNN lines above or below  | 
| 
 p  | 
 paste the yanked buffer  | 
| 
 cw  | 
 change word (delete word under cursor and go into edit mode)  | 
| 
 cNw  | 
 change N words  | 
| 
 e!  | 
reload the file (revert) | 
In the meantime, if you found this article useful, feel free to buy me a cup of coffee below.
