:q - quit :q! - force quit
:wq - write & quit
:23 - go to line No. 23
:$ - go to last line
:set ruler - set vim setting to show ruler
:set noruler - set vim setting to hide ruler
:set ruler! - set vim setting to toggle ruler
j - move down
k - move up
h - move left
l - move right
ctrl+f - move page down
ctrl+b - move page up
w - word forward
b - word backword
W - word forward with considering whitespace only
B - word backward with considering whitespace only
0 - go to start of the line
^ - go to first word of line
$ - go to last word of line
gg - go to first line
G - go to last line
29gg - go to 29th line
29G - go to 29th line
ctrl+G - display status line at bottom
Cut, Copy & Paste
dd - cut line
p - paste/put bellow cursor position
P - paste/put before cursor position
x - cut single character
y - yank/copy
3yw - copy 3 word
4yy - copy 4 line
u - undo
ctrl+r - redo
Register Types
:reg - show register
"" => hold text from d,c,s,x and y operations
"0 => last text yanked(y)
"1 => last text deleted(d) or changed(c)
"_ => block-hole register
"0P => put most recent yanked(t) text
"_dd => store deleted line(by operation(dd)) to black-hole register
"byy => copy line to named register 'b'
"Byy => append line with existing content of named register 'b'
2"b2yy => copy two line twise
:reg z => show content of 'z' register
:reg 1b => show content of both '1' and 'b' register