Command | Description |
---|---|
h |
Left |
j |
Down |
k |
Up |
l |
Right |
Command | Description |
---|---|
w |
Word |
b |
Beginning of previous word |
B |
End of previous word |
$ |
End of line |
t |
Tag |
“ / ' |
Quotes |
p |
Paragraph |
s |
Sentence |
e |
End of current word |
w |
Beginning of next word |
0 |
Beginning of line |
% |
Matching bracket |
( / [ / { |
Bracket |
Command | Description |
---|---|
i |
Inner |
a |
Around |
Command | Description |
---|---|
<C-g> |
Show position in file |
:{num} / {num}G / {num}gg |
Goto line {num} |
<C-e> |
Scroll down |
<C-y> |
Scroll up |
gg |
Beginning of file |
G |
End of file |
zz |
Center view around cursor |
Command | Description |
---|---|
<Esc> / <C-[> |
Normal mode |
v |
Visual mode |
V |
Line-wise visual mode |
<C-v> |
Block-wise visual mode |
gv |
Reselect last visual selection |
i |
Insert mode |
I |
Insert mode at the beginning of line |
a |
Insert mode after cursor |
A |
Insert mode at the end of line |
s |
Delete character and insert mode |
S / cc |
Delete line and insert mode |
R |
Replace mode |
C |
Change until end of line |
c{move} |
Delete move and insert mode |
r |
Change one character |
Command | Description |
---|---|
x |
Delete character |
o |
Open line |
O |
Open line above |
d |
Delete |
D |
Delete until end of line |
> |
Indent from cursor down |
< |
Outdent from cursor down |
>> |
Indent line |
<< |
Outdent line |
= |
Autoindent |
Command | Description |
---|---|
. |
Repeat |
u |
Undo |
U |
Undo whole line |
<C-r> |
Redo |
Command | Description |
---|---|
"{reg}p |
Paste from {register} |
"{reg}y{move} |
Yank {move} to {register} |
"{reg}yy |
Yank line to {register} |
Command | Description |
---|---|
n |
Next search |
N |
Previous search |
/{term} |
Search {term} |
?{term} |
Search {term} backwardsnn |
\* |
Search for a word under cursor |
# |
Search for a word under cursor backwards |
:set ic |
Ignore case |
<C-o> |
Return to last possition |
f{char} |
Find {char} |
F{char} |
Find {char} backwards |
t{char} |
Find {char}, skip before |
T{char} |
Find {char} backwards, skip before |
/\<{word}\> |
Search for whole word |
q/ |
Open search history |
Command | Description |
---|---|
:s/{orig}/{new} |
Substitute |
:{start}, {end}s/{orig}/{new}/g |
Substitute globally on lines from start to end |
%s/{orig}/{new}/gc |
Substitute globally in whole file with confirm |
:s//{new} |
Replace last seareched term with new |
Command | Description |
---|---|
:h[elp] {topic} |
Search help |
:h[elp] i_CTRL-{commnad) |
Help for command |
<C-d> |
Show available commands |
Command | Description |
---|---|
o |
Get to the other end of selected text |
Command | Description |
---|---|
<C-o> |
One command in insert mode |
<C-u> |
Delete line |
<C-w> |
Delete word |
<C-h> |
Backspace |
<C-r>{num} |
Paste from register {num} |
<C-r>= |
Insert from expression register |
<C-v>{code} / <C-v>u{code} |
Insert (unicode) character by numeric code |
<C-k>{char}{char} |
Inser character by digraph |
Command | Description |
---|---|
{num=1}<C-a> |
Increment next number by num |
{num=1}<C-x> |
Decrement next number by num |
gU |
Uppercase |
g~ |
Switch case |
gu |
Lowercase |
! |
Filter lines throught external program |
ga |
Display numeric value of character |
Command | Description |
---|---|
:q[uit]! |
Quit without saving |
:w[rite] |
Write |
@: |
Run last command again |
@@ |
Repeat last repeat |
:!{command} |
Execute external command |
:r {file} |
Insert content of file |
:r !{command} |
Insert output of command |
:set tw={num} |
Set line width |
:set wrap / :set nowrap |
Set line wrap |
:nohl |
Hide higlight |
:set cursorline |
Underline active line |
:{range}p |
Print {range} |
:{range}d |
Delete {range} |
:co[py] / :t |
Copy |
:m[ove] |
Move |
:normal |
Make normal command |
<C-r><C-w> |
Insert word under cursor to command line |
q: |
Command line window |
:shell |
Open shell |
exit |
Exit shell |
:read !{cmd} |
Output command to under cursor |
:qa |
Quit all |
:wa |
Write all |
Command | Description |
---|---|
. |
Current line |
% |
Whole file |
$ |
End of file |
/{pattern}/ |
Line matching pattern |
{address}+{num} |
Num lines after address |
'< |
Start of visual selection |
'> |
End of visual selection |
0 |
First virtual line |
'{mark} |
Mark |
Command | Description |
---|---|
:ls |
Show all buffers |
:bnext / <C-^> |
Next buffer |
:bprev |
Previous buffer |
:bfirst |
First buffer |
:blast |
Last buffer |
:b[uffer] {num} |
Buffer {num} |
:b[uffer] {name} |
Buffer with file containing {name} |
:bufdo |
Execute command on all files in buffer |
:argdo |
Execute command on all files in arguments |
:args |
Display all args |
:next |
Next arg |
:prev[ious] |
Previous arg |
:lcd |
Change pwd |
:windo |
Execute commnad on all windows |
:pwd |
Current working directory |
Command | Description |
---|---|
<C-w>s |
Horizontal window split |
<C-w>v |
Vertical window split |
:e[dit] {file} |
Edit {file} in current window |
:sp[lit] {file} |
Horizontal split and edit {file} |
:vs[plit] {file} |
Vertical split and edit {file} |
<C-w>w |
Cycle between windows |
<C-w>{direction: hjkl} |
Focus to window in {direction} |
<C-w>c / :clo[se] |
Close active window |
<C-w>c / :on[ly] |
Close all inactive windows |
<C-w>= |
Equalize size of all windows |
<C-w>_ |
Maximaze height of current window |
<C-w> |
Maximaze width of current window |
<C-w>T |
Open current window in new tab |
Command | Description |
---|---|
:tabe[dit] {path} |
Open {path} in tab |
:tabo[nly] |
Close all other tabs |
:tab {commnand} |
Open {command} in tab instead of split screen |
:tabs |
Show all tabs |
:tabn[ext] {num} / {num}gt |
Switch to tab {num} or next |
:tabp[revious] / gT |
Previous tab |
{num}gt |
Tab number {num} |
:tabc[lose] |
Close tab and all its windows |
:tabmove {num} |
Move current tab to {num} possition |