h, j, k, l
left, down, up, right
w
word
b
back
e
end (of word)
$
end of line
^
beginning of line
f{char}
forward to {char}
t{char}
forward up to {char}
More Motions
gg
top of file
G
bottom of file
{number}G
go to that line
Shift + H/M/L
move around the screen (high/middle/low)
Verbs
Character
Action
i
insert
c
change
d
delete
a
append
s
substitute
Shortcuts
Character
Action
I (^i)
insert at the beginning of the line
C (c$)
change till the end of the line
D (d$)
delete to the end of the line
A ($a)
append at the end of the line
S (0c$)
change the whole line
Copy and Paste
Keystrokes
Translation
v
visualy select text
y
copy (yank)
p
paste
d
delete (cut)
Putting It Together
Keystrokes
Translation
dt/
delete up to the first "/"
d$
delete to the end of the line
c2w
change 2 words
ci"
change inside quotes
da"
delete around "
5p
put yanked text into buffer 5 times
3dd
delete current line three times
Searching
/
search for text
n, N
go to next/previous result
*
search for this word
:%s/[find]/[replace]/gc
subsitute [find] with [replace]
:commands
Command
Action
:w [file]
write to [file]
:e [file]
edit [file]
:sp [file]
open [file] in split window
:vs [file]
open [file] in vertically split window
:tabedit [file]
open [file] in a new tab
:!mkdir foo
run stuff in your shell
:make
run your makefile
Macros
qa[keystrokes]q
save keystrokes to "a"
3@a
replay the keystrokes in "a" 3 times
@@
replay last macro
Misc
.
repeat
u
undo
Ctrl+R
redo
zz
center screen on cursor
o, O
new line below (or above) cursor, insert mode
J
join this line with the one below it
Ctrl+N
autocompletion
=
auto format