Basic

Cursor

h left
l right
j up
k down
:10j up 10 lines
$ (Shift + 4) end of line
0 very head of the line
^ (Shit + 6) first non-blank
gg go to the head of the file
G go to the end of the file
:50 go to line 50
word next
end of word
b prev word
W B E move along WORDS (subsequnces of any non-blank characters)

Edit

dj dp detete (and copy)
dh dl delete (and copy) character
dd drtele (and copy) line
Delete to end of line
x delete character
X backspace
undo
Ctrl + R redo
y yank (copy)
yy yank this line
insert before cursor
Replace mode
add after cursor
Add at end of the line
open a new line and write
ciw change content in sth. like ‘’
paste before cursor
Paste after cursor

Select

v select character
V select line
Ctrl + V select blocks