Linux vi 命令详解
上一篇 / 下一篇 2008-12-05 13:42:42 / 个人分类:Linux(里呢克斯)
vi filename 指示shell启动vi编辑器,并将参数filename传给它。如果当前目前中存在该文件,则vi编辑器将它解释为要打开的文件;如果没有该文件,则vi编译器创建新文件
-g+_Y!O,V+W0vi file1 file2 file3 shell传递3个参数给vi,vi将它们解释为要打开的文件。可以使用:w命令保存文件,使用:n命令访问下一个文件
nS6[y-n0vi +# filename 打开文件,并将光标移到指定的行。例如,命令vi +100 records 从第100行开始编辑文件records51Testing软件测试网pvs,])}L5w5vm
vi +/the filename 打开文件,并将光标移动包含有目标字符串的行。例如,命令vi +/Jason friends 从第1个含有字符串Jason的行开始编辑文件friends51Testing软件测试网(~-Gop.`J? Y
view filename 打开文件进行编辑,但是拒绝保存对文件的修改,除非使用w!命令
x#nem%]@3r?0光标移动命令
Ti.C:r xcD0hjkl 将光标分别向左、下、上、右移动一个字符
Z*Mg%Xj$PDG00(零) 将光标移到当前行的行首
a1_!O:c$e6j0iM%Q0^(脱字符) 同0一样将光标移到当前行的行首51Testing软件测试网 J~G| G!A9aI
$ 将光标移到当前行的行末51Testing软件测试网| Rd3Tb Ftq
##G 将光标移到G前面的数字指定的行。例如,42G将光标移到文件的第42行51Testing软件测试网D2E8S)e.^?#R
G 将光标移到文件的最后一行
|)w\2fg z+_J!a P3_|,z0w 将光标向前移到下一个单词的首字母51Testing软件测试网@-ux/I:qd
e 将光标向前移到下一个单词的最后一个字母
:b$QY` L0b 将光标向后移到上一个单词首字母
._T'E s8SY7Z0- 将光标定位到上一行的行首
P7^mcw o n-W0+ 将光标定位到下一行的行首
;Wn/{0B o|012| 将光标定位到当前行的第12列51Testing软件测试网%ID@j1U@
L 将光标定位到屏幕的最下面一行
J6k+Vu4MU@!o0M 将光标定位到屏幕中间的一行51Testing软件测试网m{:SJC z v9r
H 将光标定位到屏幕的最上面一行
0q&Z g9ZG$u0'' 两个单引号将光标移到它的先前的位置
+I7TcGf0光标定位命令(上下文的)
%\d1N2o5qF/A0fb将光标向前移到当前行上的下一个字母b(或者其他的任意指定的字符)51Testing软件测试网 iIetwh
Fb将光标向后移到当前行上的上一个字母b(或指定的字符)51Testing软件测试网ls Gw*c$|4iZ
t#将光标移到当前行上字符#的第1个实例的右侧。例如,命令tM将光标移到当前行上第1个M的右侧51Testing软件测试网~? U}G4UOk
T#在当前行上向左移动光标,将它移到字符#的第1个实例的前一字符51Testing软件测试网9D|+O!v/?OD1D
/word将光标向前移到单词word的下一个实例51Testing软件测试网 h$_)G;U4V|/J
?word将光标向后移到单词word的上一个实例51Testing软件测试网OGx1}"]&wJ$ZH
n将光标移到前面命令/word或?word中指定模式的下一个实例
8fb` O.yIb0显示调整命令
1_!_I?t0Ctrl+D显示文件中的下半屏文本
*]Lqs5@BZ[7Oc0Ctrl+U显示文件中的上半屏文本51Testing软件测试网s%y!G"Wp,cVOo;b
Ctrl+F显示文件中的下一屏文本51Testing软件测试网} fd[$k|'mv
Ctrl+B显示文件中的上一屏文本
:jE:Q Y)RI#J#p0设置显示选项
M9o*fX3W9p.Ss,NEfz0:set number将行号作为屏幕显示的一部分,但是行号并不是文件的一部分。它的缩写形式为:set nu
"q.nW[P0:set nonumber清除屏幕上的行号。也可以使用缩写形式:set nonu51Testing软件测试网W&u }Y }.J I
:set showmode在屏幕的右下角显示追加模式信息51Testing软件测试网1m/py0n} gE.JC4m
:set list在每行的行末显示美元符号,并用Ctrl+I表示制表符
A JI-~Sc0:set showmatch在输入)或]时,将光标移到与之匹配的(或[51Testing软件测试网5Z:S/]v jb,Su$j
:set window=value定义屏幕上显示的文本行的行数51Testing软件测试网L)W8km,sjM0E
:set autoindent自动缩进。也可以使用缩写形式:set ai51Testing软件测试网A|_9S4retr
:set tabstop=value设置显示制表符的空格字符个数。也可以使用缩写形式ts=value
#NK%D\?|J.h ~-O0:set wrapmargin=value 设置显示器的右页边。当输入进入所设置的页边时,编辑器自动回车换行
az/@+dr7Uk`AI0:set ignorecase 指示编辑器搜索字符串,并忽略目标中字母的大小写51Testing软件测试网r~u.n2P
:set显示设置的所有选项
3q1Q"Z P(J,g+rg+Q0:set all显示所有可以设置的选项
r1_6R%|-o%X0文本删除命令
-g+_Y!O,V+W0vi file1 file2 file3 shell传递3个参数给vi,vi将它们解释为要打开的文件。可以使用:w命令保存文件,使用:n命令访问下一个文件
nS6[y-n0vi +# filename 打开文件,并将光标移到指定的行。例如,命令vi +100 records 从第100行开始编辑文件records51Testing软件测试网pvs,])}L5w5vm
vi +/the filename 打开文件,并将光标移动包含有目标字符串的行。例如,命令vi +/Jason friends 从第1个含有字符串Jason的行开始编辑文件friends51Testing软件测试网(~-Gop.`J? Y
view filename 打开文件进行编辑,但是拒绝保存对文件的修改,除非使用w!命令
x#nem%]@3r?0光标移动命令
Ti.C:r xcD0hjkl 将光标分别向左、下、上、右移动一个字符
Z*Mg%Xj$PDG00(零) 将光标移到当前行的行首
a1_!O:c$e6j0iM%Q0^(脱字符) 同0一样将光标移到当前行的行首51Testing软件测试网 J~G| G!A9aI
$ 将光标移到当前行的行末51Testing软件测试网| Rd3Tb Ftq
##G 将光标移到G前面的数字指定的行。例如,42G将光标移到文件的第42行51Testing软件测试网D2E8S)e.^?#R
G 将光标移到文件的最后一行
|)w\2fg z+_J!a P3_|,z0w 将光标向前移到下一个单词的首字母51Testing软件测试网@-ux/I:qd
e 将光标向前移到下一个单词的最后一个字母
:b$QY` L0b 将光标向后移到上一个单词首字母
._T'E s8SY7Z0- 将光标定位到上一行的行首
P7^mcw o n-W0+ 将光标定位到下一行的行首
;Wn/{0B o|012| 将光标定位到当前行的第12列51Testing软件测试网%ID@j1U@
L 将光标定位到屏幕的最下面一行
J6k+Vu4MU@!o0M 将光标定位到屏幕中间的一行51Testing软件测试网m{:SJC z v9r
H 将光标定位到屏幕的最上面一行
0q&Z g9ZG$u0'' 两个单引号将光标移到它的先前的位置
+I7TcGf0光标定位命令(上下文的)
%\d1N2o5qF/A0fb将光标向前移到当前行上的下一个字母b(或者其他的任意指定的字符)51Testing软件测试网 iIetwh
Fb将光标向后移到当前行上的上一个字母b(或指定的字符)51Testing软件测试网ls Gw*c$|4iZ
t#将光标移到当前行上字符#的第1个实例的右侧。例如,命令tM将光标移到当前行上第1个M的右侧51Testing软件测试网~? U}G4UOk
T#在当前行上向左移动光标,将它移到字符#的第1个实例的前一字符51Testing软件测试网9D|+O!v/?OD1D
/word将光标向前移到单词word的下一个实例51Testing软件测试网 h$_)G;U4V|/J
?word将光标向后移到单词word的上一个实例51Testing软件测试网OGx1}"]&wJ$ZH
n将光标移到前面命令/word或?word中指定模式的下一个实例
8fb` O.yIb0显示调整命令
1_!_I?t0Ctrl+D显示文件中的下半屏文本
*]Lqs5@BZ[7Oc0Ctrl+U显示文件中的上半屏文本51Testing软件测试网s%y!G"Wp,cVOo;b
Ctrl+F显示文件中的下一屏文本51Testing软件测试网} fd[$k|'mv
Ctrl+B显示文件中的上一屏文本
:jE:Q Y)RI#J#p0设置显示选项
M9o*fX3W9p.Ss,NEfz0:set number将行号作为屏幕显示的一部分,但是行号并不是文件的一部分。它的缩写形式为:set nu
"q.nW[P0:set nonumber清除屏幕上的行号。也可以使用缩写形式:set nonu51Testing软件测试网W&u }Y }.J I
:set showmode在屏幕的右下角显示追加模式信息51Testing软件测试网1m/py0n} gE.JC4m
:set list在每行的行末显示美元符号,并用Ctrl+I表示制表符
A JI-~Sc0:set showmatch在输入)或]时,将光标移到与之匹配的(或[51Testing软件测试网5Z:S/]v jb,Su$j
:set window=value定义屏幕上显示的文本行的行数51Testing软件测试网L)W8km,sjM0E
:set autoindent自动缩进。也可以使用缩写形式:set ai51Testing软件测试网A|_9S4retr
:set tabstop=value设置显示制表符的空格字符个数。也可以使用缩写形式ts=value
#NK%D\?|J.h ~-O0:set wrapmargin=value 设置显示器的右页边。当输入进入所设置的页边时,编辑器自动回车换行
az/@+dr7Uk`AI0:set ignorecase 指示编辑器搜索字符串,并忽略目标中字母的大小写51Testing软件测试网r~u.n2P
:set显示设置的所有选项
3q1Q"Z P(J,g+rg+Q0:set all显示所有可以设置的选项
r1_6R%|-o%X0文本删除命令