您的位置:首页 > 其它

[转]vi command summary

2014-11-18 13:11 225 查看
The following tables contain all the basic vi commands.

*Starting vi*

Command                       Description
vi file                       start at line 1 of file
vi +n file                    start at line n of file
vi + file                     start at last line of file
vi +/pattern file             start at pattern in file
vi -r file                    recover file after a system crash

*Saving files and quitting vi*

Command                       Description
:e file                       edit file (save current file with *:w* first)
:w                            save (write out) the file being edited
:w file                       save as file
:w! fil e                     save as an existing file
:q                            quit *vi*
:wq                           save the file and quit *vi*
:x                            save the file if it has changed and quit *vi*
:q!                           quit *vi* without saving changes

*Moving the cursor*

Keys pressed                  Effect
h                             left one character
l or <Space>                  right one character
k                             up one line
j or <Enter>                  down one line
b                             left one word
w                             right one word
(                             start of sentence
)                             end of sentence
{                             start of paragraph
}                             end of paragraph
1G                            top of file
nG                            line n
G                             end of file
<Ctrl>W                       first character of insertion
<Ctrl>U                       up ½ screen
<Ctrl>D                       down ½ screen
<Ctrl>B                       up one screen
<Ctrl>F                       down one screen

*Inserting text*

Keys pressed                  Text inserted
a                             after the cursor
A                             after last character on the line
i                             before the cursor
I                             before first character on the line
o                             open line below current line
O                             open line above current line

*Changing and replacing text*

Keys pressed                  Text changed or replaced
cw                            word
3cw                           three words
cc                            current line
5cc                           five lines
r                             current character only
R                             current character and those to its right
s                             current character
S                             current line
~                             switch between lowercase and uppercase

*Deleting text*

Keys pressed                  Text deleted
x                             character under cursor
12x                           12 characters
X                             character to left of cursor
dw                            word
3dw                           three words
d0                            to beginning of line
d$                            to end of line
dd                            current line
5dd                           five lines
d{                            to beginning of paragraph
d}                            to end of paragraph
:1,. d                        to beginning of file
:.,$ d                        to end of file
:1,$ d                        whole file

*Using markers and buffers*

Command                       Description
mf                            set marker named ``f''
`f                            go to marker ``f''
´f                            go to start of line containing marker ``f''
"s12yy                        copy 12 lines into buffer ``s''
"ty}                          copy text from cursor to end of paragraph into buffer ``t''
"ly1G                         copy text from cursor to top of file into buffer ``l''
"kd`f                         cut text from cursor up to marker ``f'' into buffer ``k''
"kp                           paste buffer ``k'' into text

*Searching for text*

Search                        Finds
/and                          next occurrence of ``and'', for example, ``and'', ``stand'',``grand''
?and                          previous occurrence of ``and''
/^The                         next line that starts with ``The'', for example, ``The'',``Then'', ``There''
/^The\>                       next line that starts with the word ``The''
/end$                         next line that ends with ``end''
/[bB]ox                       next occurrence of ``box'' or ``Box''
n                             repeat the most recent search, in the same direction
N                             repeat the most recent search, in the opposite direction

*Searching for and replacing text*

Command                        Description
:s/pear/peach/g                replace all occurrences of ``pear'' with ``peach'' on current line
:/orange/s//lemon/g            change all occurrences of ``orange'' into ``lemon'' on next line containing ``orange''
:.,$/\<file/directory/g        replace all words starting with ``file'' by ``directory'' on every line from current line onward, for example,``filename'' becomes ``directoryname''
:g/one/s//1/g                  replace every occurrence of ``one'' with 1, for example,``oneself'' becomes ``1self'', ``someone'' becomes ``some1''

*Matching patterns of text*

Expression                     Matches
.                              any single character
*                              zero or more of the previous expression
.*                             zero or more arbitrary characters
\<                             beginning of a word
\>                             end of a word
\                              quote a special character
\*                             the character ``*''
^                              beginning of a line
$                              end of a line
[set]                          one character from a set of characters
[XYZ]                          one of the characters ``X'', ``Y'', or ``Z''
[[:upper:]][[:lower:]]*        one uppercase character followed by any number of lowercase characters
[^set]                         one character not from a set of characters
[^XYZ[:digit:]]                any character except ``X'', ``Y'', ``Z'', or a numeric digit

*Options to the :set command*

Option                         Effect
all                            list settings of all options
ignorecase                     ignore case in searches
list                           display <Tab> and end-of-line characters
mesg                           display messages sent to your terminal
nowrapscan                     prevent searches from wrapping round the end or beginning ofa file
number                         display line numbers
report=5                       warn if five or more lines are changed by command
term=ansi                      set terminal type to ``ansi''
terse                          shorten error messages
warn                           display ``[No write since last change]'' on shell escape if filehas not been saved
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: