How to Exit Vim (the important one)

:qQuit (if no unsaved changes)
:q!Quit without saving
:wqSave and quit
:xSave and quit (short form)
ZZSave and quit (even shorter)
ZQQuit without saving (no colon needed)

Modes

iEnter Insert mode (before cursor)
aEnter Insert mode (after cursor)
IInsert at beginning of line
AInsert at end of line
oOpen new line below
OOpen new line above
vEnter Visual mode (character)
VEnter Visual mode (line)
Ctrl+VEnter Visual Block mode
EscReturn to Normal mode
:Enter Command mode

Navigation

h j k lLeft, Down, Up, Right
wNext word
bPrevious word
eEnd of word
0Start of line
$End of line
^First non-blank character
ggGo to first line
GGo to last line
:nGo to line n
Ctrl+UScroll half page up
Ctrl+DScroll half page down
Ctrl+BScroll full page up
Ctrl+FScroll full page down
%Jump to matching bracket

Editing

xDelete character at cursor
ddDelete (cut) line
dwDelete word
d$ or DDelete to end of line
yyYank (copy) line
ywYank word
pPaste after cursor
PPaste before cursor
uUndo
Ctrl+RRedo
.Repeat last command
rxReplace character with x
ccChange (replace) entire line
cwChange word
c$ or CChange to end of line
~Toggle case
>>Indent line
<<Outdent line

Search and Replace

/patternSearch forward
?patternSearch backward
nNext match
NPrevious match
*Search word under cursor
:s/old/new/gReplace in line
:%s/old/new/gReplace in file
:%s/old/new/gcReplace with confirmation
:nohClear search highlighting

File Operations

:wSave file
:w filenameSave as
:e filenameOpen file
:r filenameInsert file contents
:bnNext buffer
:bpPrevious buffer
:lsList buffers
:spHorizontal split
:vspVertical split
Ctrl+W wSwitch between splits