原文地址: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 |