初学有用,值得打印了贴在电脑旁
VIM QUICK REFERENCE CARD
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
^ $ . . . . . . . . . . . . . . . . . . . . . . . . . first, last character of line
nG ngg . . . . . . . . . . . . . . . . . . . line n, default the last, first
n%. . . . . . . .percentage n of the file (n must be provided)
n| . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 first column
o O. . . . . .open a new line below, above the current line
rc . . . . . . . . . . . . . . . replace character under cursor with c
grc . . . . . . . . . . . . . . . . like r, but without affecting layout
R . . . . . . . . . . . . . replace characters starting at the cursor
gR . . . . . . . . . . . . . . . . . like R, but without affecting 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 . . . . . . . . . . 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 ?Vn . . . . . . . . . insert char c literally, decimal value n
?A . . . . . . . . . . . . . . . . . . . . . . insert previously inserted text
?@. . . . . . .same as ?A and stop insert ! command mode
?Rx ?R?Rx . . . . . . . . . insert content of register x, literally
?N ?P. . . . . . . . . . . . . . text completion before, after cursor
?W . . . . . . . . . . . . . . . . . . . . . . . . . . . delete word before cursor
?U . . . . . . . . . . delete all inserted character in current line
?D ?T. . . . . . . . . . . . . . . . . . . shift left, right one shift width
?Kc1c2 or c1 c2 . . . . . . . . . . . . . . . . . . enter digraph {c1, c2} ?Oc . . . . . . . . . . . . execute c in temporary command mode
?X?E ?X?Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . scroll up, down
hesci or ?[ . . . . . . . . . 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 fixed 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 - . filter lines of movement m through command c
n!!c - . . . . . . . . . . . . . . filter n lines through command c
:r!c - . . . . . . . . . filter 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 & registers
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
b where pattern p matches
Complex movement
- + . . . . . . . . . line up, down on first 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 first non-blank character
g0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . beginning of screen line
g^ g$. . . . . . . . . . . . . . . .first, 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 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 offset 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 find partial matches
gd gD . . . local, global definition of symbol under cursor
:rs/f/t/x - . . . . . . . . . . . . . . substitute f by t in range r
b x : g—all occurrences, c—confirm changes
:rs x - . . . . . . . . . . . repeat substitution with new r & x
Special characters in search patterns
. ? $ . . . . . . . . . . . any single character, start, end of line
\< \> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . start, end of word
[c1-c2] . . . . . . . . . . . . . . a single character in range c1..c2
[?c1-c2]. . . . . . . . . . . . . . . .a single character not in range
\i \k \I \K . . . . . . . an identifier, keyword; excl. digits
\f \p \F \P . . a file name, printable char.; excl. 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
\| . . . . . . . . . . . . . . . . . . . . . . . separate two branches ( or)
\( \) . . . . . . . . . . . . . . . . . . . . group patterns into an atom
\& \n . . . . . . . the whole matched pattern, nth () group
\u \l . . . . . . . . . . . next character made upper, lowercase
\c \C. . . . . . . . . . . . . .ignore, match case on next pattern
Offsets in search commands
n or +n . . . . . . . . . . . . . . . . . . . n line downward in column 1