原文地址:http://blog.csdn.net/thefirstwind/archive/2006/08/18/1095419.aspx
Command mode |
ESC |
|
Movement command |
h, j, k, l |
left, down, up, right |
w, W, b, B |
forward, backward by word |
H |
top of the screen |
M |
middle of the screen |
L |
last line of the screen |
Ctrl-F |
forward one screen |
Ctrl-B |
backward one screen |
Ctrl-D |
forward half screen |
Ctrl-U |
backward half screen |
0 (zero), $ |
start, end of current line |
Inserting text |
a |
append after cursor |
i |
insert before cursor |
A |
append to end of line |
I |
insert at start of line |
o |
open a line below current line |
O |
open a line above current line |
r |
replace char |
Delete text |
x |
current character |
dh |
previous character |
dw |
current word |
db |
previous word |
dd |
entire line |
d$ |
to end of line |
d0 (zero) |
to start of line |
ndd |
next n lines |
Undelete |
p |
insert after cursor |
P |
insert before cursor |
|
Goto line |
:linenumber |
|
nG |
Goto line n |
:7 |
Goto line 7 |
Save and exit |
ZZ |
write if changes and quit |
:wq |
write and quit |
:w filename |
save to new file |
:q! |
quit vi |
Search |
/pattern <RETURN> |
forward for a pattern |
?pattern <RETURN> |
backward for a pattern |
n |
repeat previous search |
N |
repeat previous search in reverse direction |
Search and replace |
Example: |
|
- Search from current line and replace first occurance
:s/search_string/replace_string/
- Search from current line and replace all matches
:s/search_string/replace_string/g
- Search from every line, replace confirmation (with [y]es)
:%s/search_string/replace_string/gc :1,$s/search_string/replace_string/gc
- Search lines from 10 to 20
:10,20s/search_string/replace_string/g
|
Undo |
u |
the latest change |
U |
all changes on a line |
Concatenate |
J |
concatenate two lines |
|
VIM - Vi IMproved 6.1 (2002 Mar 24, compiled Dec 26 2002 19:39:58) |
|
usage: vim [arguments] edit specified file(s) |
or: vim [arguments] - read text from stdin |
or: vim [arguments] -t tag edit file where tag is defined |
or: vim [arguments] -q [errorfile] edit file with first error |
|
Arguments: |
|
-- |
Only file names after this |
-v |
Vi mode (like "vi") |
-e |
Ex mode (like "ex") |
-s |
Silent (batch) mode (only for "ex") |
-d |
Diff mode (like "vimdiff") |
-y |
Easy mode (like "evim", modeless) |
-R |
Readonly mode (like "view") |
-Z |
Restricted mode (like "rvim") |
-m |
Modifications (writing files) not allowed |
-M |
Modifications in text not allowed |
-b |
Binary mode |
-l |
Lisp mode |
-C |
Compatible with Vi: 'compatible' |
-N |
Not fully Vi compatible: 'nocompatible' |
-V[N] |
Verbose level |
-D |
Debugging mode |
-n |
No swap file, use memory only |
-r |
List swap files and exit |
-r (with file name) |
Recover crashed session |
-L |
Same as -r |
-T <terminal> |
Set terminal type to <terminal> |
-u <vimrc> |
Use <vimrc> instead of any .vimrc |
--noplugin |
Don't load plugin scripts |
-o[N] |
Open N windows (default: one for each file) |
-O[N] |
Like -o but split vertically |
+ |
Start at end of file |
+<lnum> |
Start at line <lnum> |
--cmd <command> |
Execute <command> before loading any vimrc file |
-c <command> |
Execute <command> after loading the first file |
-S <session> |
Source file <session> after loading the first file |
-s <scriptin> |
Read Normal mode commands from file <scriptin> |
-w <scriptout> |
Append all typed commands to file <scriptout> |
-W <scriptout> |
Write all typed commands to file <scriptout> |
-x |
Edit encrypted files |
-i <viminfo> |
Use <viminfo> instead of .viminfo |
-h |
Print Help (this message) and exit |
--version |
Print version information and exit |