To open a file in Vim:
vim <filename>
Navigation | |
---|---|
h |
move one character left |
j |
move one row down |
k |
move one row up |
l |
move one character right |
w |
move to beginning of next word |
b |
move to beginning of previous word |
e |
move to end of word |
W |
move to beginning of next word after a whitespace |
B |
move to beginning of previous word before a whitespace |
E |
move to end of word before a whitespace |
All the above movements can be preceded by a count; e.g. 4j will move down 4 lines.
Navigation | |
---|---|
0 |
move to beginning of line |
$ |
move to end of line |
^ |
move to first non-blank char of the line |
_ |
same as above, but can take a count to go to a different line |
g_ |
move to last non-blank char of the line (can also take a count as above) |
gg |
move to first line |
G |
move to last line |
nG |
move to n'th line of file (where n is a number) |
H |
move to top of screen |
M |
move to middle of screen |
L |
move to bottom of screen |
z. |
put the line with the cursor at the center |
zt |
put the line with the cursor at the top |
zb |
put the line with the cursor at the bottom of the screen |
Ctrl-D |
move half-page down |
Ctrl-U |
move half-page up |
Ctrl-B |
page up |
Ctrl-F |
page down |
Ctrl-o |
jump to last cursor position |
Ctrl-i |
jump to next cursor position |
n |
next matching search pattern |
N |
previous matching search pattern |
* |
next word under cursor |
# |
previous word under cursor |
g* |
next matching search pattern under cursor |
g# |
previous matching search pattern under cursor |
% |
jump to matching bracket { } [ ] ( ) |
Search | |
---|---|
/ |
search for a pattern which will take you to the next occurrence. |
? |
search for a pattern which will take you to the previous occurrence. |
n |
for next match in forward |
N |
for previous match in backward |
Insert / Delete | |
---|---|
I |
Insert at start |
A |
Append at end |
D |
Delete to end of line |
; |
Clear current line, to insert mode: S |
o |
Insert new line below |
O |
Insert new line above |
x |
Delete |
X |
Backspace X |
r |
Replace under cursor |
d |
Delete word (like d2w for deleting 2 words) |
Copy / Paste | |
---|---|
yy |
Copy current line |
p |
Paste copied text after cursor |
Comments | |
---|---|
CTRL+V (select lines) I# |
Comment |
CTRL+V (select lines) X |
Uncomment |
Misc | |
---|---|
. |
repeat command |
u |
undo |
CTRL+R |
redo |
CTRL+P |
autocomplete word |
:e [file] |
open file |