VIM Quick Reference Card
VIM Quick Reference Card[color=blue] ÍêÕû°æÇë¿´¸½¼þ[/color]
Basic movement
h l k j : : : : : : : : : : : : character left, right, line up, down
b w : : : : : : : : : : : : : : : : : : : : : : : : : : : : : word/token left, right
ge e : : : : : : : : : : : : : : : : : : : : : end of word/token left, right
{ } : : : : : : : : : : : : : beginning of previous, next paragraph
( ): : : : : : : : : : : : : : :beginning of previous, next sentence
0 gm : : : : : : : : : : : : : : : : : : : : : : : : : beginning, middle of line
^ $ : : : : : : : : : : : : : : : : : : : : : : : : : rst, last character of line
nG ngg : : : : : : : : : : : : : : : : : : : line n, default the last, rst
n%: : : : : : : :percentage n of the le (n must be provided)
nj : : : : : : : : : : : : : : : : : : : : : : : : : : : : column n of current line
%: : : : :match of next brace, bracket, comment, #define
nH nL : : : : : : : : : : : : line n from start, bottom of window
M : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : middle line of window
Insertion & replace ! insert mode
i a : : : : : : : : : : : : : : : : : : : : : : : : : insert before, after cursor
I A : : : : : : : : : : : : : : : : : : : : insert at beginning, end of line
gI : : : : : : : : : : : : : : : : : : : : : : : : : : insert text in rst column
o O: : : : : :open a new line below, above the current line
rc : : : : : : : : : : : : : : : replace character under cursor with c
grc : : : : : : : : : : : : : : : : like r, but without a ecting layout
R : : : : : : : : : : : : : replace characters starting at the cursor
gR : : : : : : : : : : : : : : : : : like R, but without a ecting layout
cm: : : : : : : : : : : : : change text of movement command m
cc or S : : : : : : : : : : : : : : : : : : : : : : : : : : : : : change current line
C : : : : : : : : : : : : : : : : : : : : : : : : : : : : change to the end of line
s : : : : : : : : : : : : : : : : : : : : : change one character and insert
~ : : : : : : : : : : : : : : : : : : : : : : switch case and advance cursor
g~m : : : : : : : : : : : : switch case of movement command m
gum gUm: : : lowercase, uppercase text of movement m
<M>m : : : : : : : : : : shift left, right text of movement m
n<< n>>: : : : : : : : : : : : : : : : : : : : : : : shift n lines left, right
Deletion
x X : : : : : : : : : : : : : : delete character under, before cursor
dm: : : : : : : : : : : : : : delete text of movement command m
dd D : : : : : : : : : : : : : delete current line, to the end of line
J gJ : : : : : : : : join current line with next, without space
:rd - : : : : : : : : : : : : : : : : : : : : : : : : : : : : : delete range r lines
:rdx - : : : : : : : : : : : : : delete range r lines into register x
Insert mode
^Vc : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : insert char c literally
^Vn: : : : : : : : : : : : : : : : : : :insert decimal value of character
^A : : : : : : : : : : : : : : : : : : : : : : insert previously inserted text
^@: : : : : : :same as ^A and stop insert ! command mode
^Rx : : : : : : : : : : : : : : : : : : : : : : : : insert content of register x
^N ^P: : : : : : : : : : : : : : text completion before, after cursor
^W : : : : : : : : : : : : : : : : : : : : : : : : : : : delete word before cursor
^U : : : : : : : : : : delete all inserted character in current line
^D : : : : : : : : : : : : : : : : : : : : : : : : : : : : shift left one shift width
^K c1 c2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : enter digraph
hesci : : : : : : : : : : : : : : abandon edition ! command mode
Copying
"x : : : : : : : : : : : : use register x for next delete, yank, put
:reg - : : : : : : : : : : : : : : : show the content of all registers
:reg x - : : : : : : : : : : : : : : show the content of registers x
ym : : : : : : : : : : : yank the text of movement command m
yy or Y: : : : : : : : : : : : : : : : : : :yank current line into register
p P : : : : : : : : : : : put register after, before cursor position
]p [p : : : : : : : : : : : : : : : : : : : like p, P with indent adjusted
gp gP : : : : : : : : : : : like p, P leaving cursor after new text
Advanced insertion
g?m: : : : : : : : : : perform rot13 encoding on movement m
n^A n^X : : : : : : : : : : : : : : +n, 􀀀n to number under cursor
gqm : : : : : : : format lines of movement m to xed width
:rce w - : : : : : : : : : : : center lines in range r to width w
:rle i - : : : : : : : left align lines in range r with indent i
:rri w - : : : : : : right align lines in range r to width w
!mc - : lter lines of movement m through command c
n!!c - : : : : : : : : : : : : : : lter n lines through command c
:r!c - : : : : : : : : : lter range r lines through command c
Visual mode
v V ^V : : start/stop highlighting characters, lines, block
o : : : exchange cursor position with start of highlighting
gv : : : : : : : : : : : start highlighting on previous visual area
aw as ap : : : : : : : select a word, a sentence, a paragraph
ab aB : : : : : : : : : : : : : : : : : : : select a block ( ), a block { }
Undoing & repeating commands
u U : : : : : : undo last command, restore last changed line
. ^R: : : : : : : : : : : : : : : :repeat last changes, redo last undo
n. : : : : : : repeat last changes with count replaced by n
qc qC: : : :record, append typed characters in register c
q: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : stop recording
@c : : : : : : : : : : : : : : : : : : : : execute the content of register c
@@ : : : : : : : : : : : : : : : : : : : : : : : : repeat previous @ command
:@c - : : : : : : : : : : : :execute register c as an Ex command
:rg/p/c - : : : : : : : : : : execute Ex command c on range r where pattern p matches
Complex movement
- + : : : : : : : : : line up/down on rst non-blank character
B W : : : : : : : : : : : : : : : : : : : space-separated word left, right
gE E : : : : : : : : : : : end of space-separated word left, right
n : : : : : : : : down n 􀀀 1 line on rst non-blank character
g0 : : : : : : : : : : : : : : : : : : : : : : : : : : : : beginning of screen line
g^ g$ : : : : : : : : : : : : : : : : rst, last character of screen line
gk gj : : : : : : : : : : : : : : : : : : : : : : : : : : : : screen line up, down
fc Fc : : : : : : : : : : next, previous occurence of character c
tc Tc : : : : : : : : : : : : : before next, previous occurence of c
; , : : : : : : : : : : : : : repeat last fFtT, in opposite direction
[[ ]] : : : : : : : : : : : : : : start of section backward, forward
[] ][ : : : : : : : : : : : : : : : end of section backward, forward
[( ]) : : : : : : : : : : : : : : : : : unclosed (, ) backward, forward
[{ [} : : : : : : : : : : : : : : : : unclosed {, } backward, forward
[m ]m : : : : start, end of backward, forward java method
[# ]#:unclosed #if, #else, #endif backward, forward
[* ]* : : : : : : : : : : start, end of /* */ backward, forward
Search & substitution
/s - ?s - : : : : : : : : : : : : : search forward, backward for s
/s/o - ?s?o - : : : : : search fwd, bwd for s with o set o
n or / - : : : : : : : : : : : : : : : : : : : : : repeat forward last search
N or ? - : : : : : : : : : : : : : : : : : : : repeat backward last search
# * : : : search backward, forward for word under cursor
g# g* : : : : : : : : : : : : : same, but also nd partial matches
gd gD : : : local, global de nition of symbol under cursor
:rs/f/t/x - : : : : : : : : : : : : : : substitute f by t in range r
b x : g|all occurrences, c|con rm changes
:rs x - : : : : : : : : : : : repeat substitution with new r & x Special characters in search patterns
. ^ : : : : : : : : : : : : : : : : : : any single character, start of line
\< \> : : : : : : : : : : : : : : : : : : : : : : : : : : : : : start, end of word
[c1::c2] : : : : : : : : : : : : : : a single character in range c1::c2
[^c1::c2] : : : : : : : : : : : : : : : a single character not in range
\i \I : : : : : : : : : : : : : : : : : : : an identier, excluding digits
\k \K : : : : : : : : : : : : : : : : : : : : : a keyword, excluding digits
\f \F : : : : : : : : : : : : : : : : : : : : a le name, excluding digits
\p \P: : : : : : : : : : :a printable character, excluding digits
\s \S : : : : : : : : : : : : : : : : a white space, a non-white space
\e \t \r \b : : : : : : : : : : : : : : : : : : : hesci, htabi, h -i, h i
\= * \+ : : : : match 0::1, 0::1, 1::1 of preceding atoms
\j : : : : : : : : : : : : : : : : : : : : : : : separate two branches ( or)
\( \) : : : : : : : : : : : : : : : : : : : : group patterns into an atom
Osets in search commands
n or +n : : : : : : : : : : : : : : : : : : : n line downward in column 1
-n : : : : : : : : : : : : : : : : : : : : : : : : : n line upward in column 1
e+n e-n : : : : : : : n characters right, left to end of match
s+n s-n: : : : : :n characters right, left to start of match
;sc : : : : : : : : : : : : : : : : : : execute search command sc next
Marks and motions
mc : : : : : : : : : mark current position with mark c 2 [a::Z]
`c `C : : : : : : : : : : : go to mark c in current, C in any le
`0::9 : : : : : : : : : : : : : : : : : : : : : : : : : : : go to last exit position
`` `" : : : : : : : : : : go to position before jump, at last edit
`[ `] : : : : : go to start, end of previously operated text
:marks - : : : : : : : : : : : : : : : : : : : print the active marks list
:jumps - : : : : : : : : : : : : : : : : : : : : : : : : : : print the jump list
n^O : : : : : : : : : : : : : : : go to nth older position in jump list
n^I : : : : : : : : : : : : : : go to nth newer position in jump list
Key mapping & abbreviations
:map c e - : : : : : : :map c 7! e in normal & visual mode
:map! c e - : : : : map c 7! e in insert & cmd-line mode
:unmap c - :unmap! c - : : : : : : : : : : remove mapping c
:mk f - : : : write current mappings, settings... to le f
:ab c e - : : : : : : : : : : : : : : : : : add abbreviation for c 7! e
:ab c - : : : : : : : : : : : : show abbreviations starting with c
:una c - : : : : : : : : : : : : : : : : : : : : : : : remove abbreviation c
Ò³:
[1]