software development |
vi navigation, motion commands overview
created : Mar 17 2009
last updated: Oct 23 2009
http://vimdoc.sourceforge.net/htmldoc/motion.html
vi commands overview
:e | ... | edit |
:w | ... | write |
:q | ... | quit, exit |
:his | ... | history |
... | ||
:new | ... | new window - horizontal split |
:vnew | ... | new window - vertical split |
:sp | ... | split window - horizontal split |
:vsp | ... | split window - vertical split |
:clo | ... | close window |
:only | ... | close all windows except the current one |
:wall | ... | write all windows |
:qall | ... | close all windows |
:wqall | ... | write and close all windows |
... | ||
CTRL-W w | ... | jump to next window |
CTRL_W h | ... | jump to left window |
CTRL_W j | ... | jump to lower window |
CTRL_W k | ... | jump to upper window |
CTRL_W l | ... | jump to right window |
CTRL_W t | ... | jump to top window |
CTRL_W b | ... | jump to bottom window |
CTRL_W + | ... | increase size (height) of a window |
CTRL_W - | ... | decrease size (height) of a window |
CTRL_W H | ... | move window to the left |
CTRL_W J | ... | move window to the bottom |
CTRL_W K | ... | move window to the top |
CTRL_W L | ... | move window to the right |
... | ||
gg | ... | move to begin of file |
h | ... | move left |
j | ... | move down |
k | ... | move up |
l | ... | move right |
0 | ... | move to begin of line |
$ | ... | move to end of line |
H | ... | move to top of window |
M | ... | move to middle of window |
L | ... | move to bottom of window |
G | ... | move to end of file |
... | ||
x | ||
dl | ... | delete character |
diw | ... | delete inner word |
daw | ... | delete a word |
dw | ... | delete word |
diW | ... | delete inner WORD |
daW | ... | delete a WORD |
dW | ... | delete WORD |
D | ||
d$ | ... | delete to end of line |
dd | ... | delete one line |
dis | ... | delete inner sentence |
das | ... | delete a sentence |
dib | ... | delete inner ( ) block |
dab | ... | delete a ( ) block |
dip | ... | delete inner paragraph |
dap | ... | delete a paragraph |
diB | ... | delete inner { } block |
daB | ... | delete a { } block |
dG | ... | delete to end of file |
dgg | ... | delete to begin of file |
... | ||
"a5yy | ... | yank 5 lines into named buffer "a" |
"ap | ... | put contents of buffer "a" after cursor |
... | ||
u | ... | undo |
... | ||
vimdiff main.c main.c~ | ||
:edit main.c | ... | |
:vertical diffsplit main.c~ | ... | edit in vimdiff mode |
zo | ... | open fold |
zc | ... | close fold |
]c | ... | goto next change |
[c | ... | goto previous change |
:diffupdate | ... | update highlighting for diffs |
dp | ... | diff put |
do | ... | diff obtain (get) |
... |