原文地址:http://blog.youkuaiyun.com/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] [file ..] 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 |