The Way of the great learning involves manifesting virtue, renovating the people, and abiding by the highest good.

2009年3月6日星期五

vi commands and keys

Cursor control and position
h
Left

Editing
j
Down
k
Up
l (or spacebar)
Right
w
Forward one word
b
Back one word
e
End of word
(
Beginning of current sentence
)
Beginning of next sentence
{
Beginning of current paragraph
}
Beginning of next paragraph
[[
Beginning of current section
]]
Beginning of next section
A
Append to end of current line
0
Start of current line
i
Insert before cursor
$
End of current line
I
Insert at beginning of line
^
First non-white character of current line
o
Open line above cursor
+ or RETURN
First character of next line
O
Open line below cursor
-
First character of previous line
ESC
End of insert mode
n
character n of current line
Ctrl-I
Insert a tab
H
Top line of current screen
Ctrl-T
Move to next tab position
M
Middle line of current screen
Backspace
Move back one character
L
Last line of current screen
Ctrl-U
Delete current line
nH
n lines after top line of current screen
Ctrl-V
Quote next character
nL
n lines before last line of current screen
Ctrl-W
Move back one word
Ctrl-F
Forward one screen
cw
Change word
Ctrl-B
Back one screen
cc
Change line
Ctrl-D
Down half a screen
C
Change from current position to end of line
Ctrl-U
Up half a screen
dd
Delete current line
Ctrl-E
Display another line at bottom of screen
ndd
Delete n lines
Ctrl-Y
Display another line at top of screen
D
Delete remainer of line
z RETURN
Redraw screen with cursor at top
dw
Delete word
z .
Redraw screen with cursor in middle
d}
Delete rest of paragraph
z -
Redraw screen with cursor at bottom
d^
Delete back to start of line
Ctrl-L
Redraw screen without re-positioning
c/pat
Delete up to first occurance of pattern
Ctrl-R
Redraw screen without re-positioning
dn
Delete up to next occurance of pattern
/text
Search for text (forwards)
dfa
Delete up to and including a on current line
/
Repeat forward search
dta
Delete up to, but not including, a on current line
?text
Search for text (backwards)
dL
Delete up to last line on screen
?
Repeat previous search backwards
dG
Delete to end of file
n
Repeat previous search
J
Join two lines
N
Repeat previous search, but it opposite direction
p
Insert buffer after cursor
/text/+n
Go to line n after text
P
Insert buffer before cursor
?text?-n
Go to line n before text
rx
Replace character with x
%
Find match of current parenthesis, brace, or bracket.
Rtext
Replace text beginning at cursor
Ctrl-G
Display line number of cursor
s
Substitute character
nG
Move cursor to line number n
ns
Substitute n characters
:n
Move cursor to line number n
S
Substitute entire line
G
Move to last line in file
u
Undo last change


U
Restore current line

x
Delete current cursor position
X
Delete back one character
nX
Delete previous n characters
.
Repeat last change
~
Reverse case
y
Copy current line to new buffer
yy
Copy current line
"xyy
Copy current line into buffer x
"Xd
Delete and append into buffer x
"xp
Put contents of buffer x
y]]
Copy up to next section heading
ye
Copy to end of word



File Handling


:w
Write file




:w!
Write file (ignoring warnings)
:w! file
Overwrite file (ignoring warnings)
:wq
Write file and quit
:q
Quit
:q!
Quit (even if changes not saved)
:w file
Write file as file, leaving original untouched
ZZ
Quit, only writing file if changed
:x
Quit, only writing file if changed
:n1,n2w file
Write lines n1 to n2 to file
:n1,n2w >> file
Append lines n1 to n2 to file
:e file2
Edit file2 (current file becomes alternate file)
:e!
Reload file from disk (revert to previous saved version)
:e#
Edit alternate file
%
Display current filename
#
Display alternate filename
:n
Edit next file
:n!
Edit next file (ignoring warnings)
:n files
Specify new list of files
:r file
Insert file after cursor
:r !command
Run command, and insert output after current line
We hope you find this reference useful, and that you'll bookmark it and come back to it whenever you need to. However, if you want a vi reference actually on your desk, then our friends over at www.geekcheat.com produce a vi reference mug, mousemat and even a T-shirt (printed upside-down, so the wearer can read it). It's well worth a look...

没有评论: