TL;DR Run vimtutor and be enlightened!

Simple Editing

Append to end of lineA
Insert line (above)O
Insert line (below)o
Delete charx
Delete worddw
Delete linedd
Delete to end of lined$
Undo Changeu
Undo LineU

Advanced Editing

Visual Selectionv
Toggle Caseselect word and ~
Copy-and-pasteyy (copy) and p (put)
Cut-and-pastedd (cut line) and p (put)
Replace characterr (followed by the char to be replaced)
Replace modeR (enters replace mode)
Change wordce
Change everything to end of linec$
Delete in parenthesisdi(
Delete in quotesdi"
Delete all lines in file:1,$d
Global replace:%s/old/new/g
Global replace with prompt:%s/old/new/gc
Navigate to beginning of line0
Navigate to end of line$
Navigate to beginning of next wordw
Navigate to end of next worde
Move to end of fileG
Move to start of filegg
Go to line number:<line number>
Previous LocationCtrl+O
Next LocationCtrl+I
Navigate to matching brace (cursor on the brace)v%
Search for pattern/<pattern>
Search Backwards?<pattern>
Next Hitn
Previous HitN
Match parentheses% (at the opening/closing parenthesis)

Set Search Options

Ignore case:set ic
Show partial matches:set is
Highlight matching phrases:set hls
Unset options:set no<option>
Text stats (e.g: word count)g CTRL-G

External Commands

Run External Command:!<command>
Run command and dump output:.!<command>
Command completion:!<start-of-command>Ctrl+D
Save file with sudo:w !sudo tee %

Spell Check (:set spell spelllang=en_gb)

Navigate to the next misspelled word]s
Navigate to the previous misspelled word[s
Alternatives to misspelled wordz=
Add word to dictionaryzg
Mark word as incorrectzw