vi介绍编 (3) ex命令
2024-07-26 00:30:05
供稿:网友
◎EX COMMANDS
以下的命令属於ex编辑器所用.也就是说要在vi执行时需要先换成ex mode (:)
vi/ex mode切换 於ex mode输入vi 即可.
! shell command 执行shell命令
" 解
# 数字 显示选择的行数,每行前面标示出行号.
* buffer_name 执行该buffer
[行数]a! 在该行的下一行,产生输入的文字. 行数从 0 开始.
:1a! (在第二(1+1=2)行产生输入文字)
接着会出现如下的讯息
Entering ex input mode
接着您就可以输入文字 按 ctrl+c 结束
[行数]c! 该行用输入的文字取代. 行数从1开始.
:1c! (在第一行产生取代文字) 接着会出现如下的讯息
Entering ex input mode
接着您就可以输入文字取代 按 ctrl+c 结束
[行数围]d 将处於该行数围内的文章删除.
1,3d (表示从第1行到第3行删除; ,表示到的意思)
[Ee]dit! file_name
[Ee]x! file_name 编辑不同的档案,此为编辑file_name,[]表示其中之一。
也可以用 :e file_name 或 :edit file_name 编辑不同档案
exu[sage] [ex命令] 显示该ex命令的使用方式。
显示edit的使用方式 :exu edit 显示结果如下
+-+-+-+-+-+-+-+-+-+
command begin editing another file
Usage:[Ee][dit][!] [+cmd] [file]
PRess any key to continue [: to enter more ex commands]:
分别显示出 简易叙述 使用语法 结束或继续
f[ile] [file_name] 显示档案讯息 ( 与vi命令中的ctrl+g类似 )
[range] g[lobal] /样式/ [ex命令] 将符合条件的样式加以用ex命令处理
可以设定围,若没有围设定表示全部。
若不加命令只会显示符合样式的内容。
如 :g/BSD/ (显示有BSD的行列)
[range] v[lobal] /样式/ [ex命令] 将不符合条件的样式加以用ex命令处理
可以设定围,若没有围设定表示全部。
若不加命令只会显示不符合样式的内容。
如 :g/BSD/ (显示没有BSD的行列)
he[lp] 显示求助讯息
[行数]i[nsert]! 将所输入的文字内容,插入自订的行数.原行数顺延
[行数]j[oin]! 将该指定行与下一行合。
[行数]l[ist] 显示该指定行(围)。
[围]m[ove] line 将某围的内容搬移到某自订行之後。
若将3-5行搬移到第6行之後,指令为:3,5m6
mk[exrc][!] file_name 将缩写、编辑参数及map写到file_name
[Nn][ext][!] [file ...] 继续编辑某一档案。
pre[serve] 以ex -r 能够恢复的形式储存档案。
[Pp]rev[ious][!] 编辑先前的档案。
[围] p[rint] 显示围内容
[行数] pu[t] 将buffer中的内容在特定行贴上。
q[uit][!] 强制离开
rec[over] file 回复先前用pre储存的档案,等同於vi -r filename
:档案放在/var/tmp/vi.recover资料夹下
se[t] 设定环境变数,後接想要设定的变数(值)
se[t] [all] 显示全部环境变数
sh[ell] 跳脱编辑,回到shell下,可执行其他动作。
用exit离开shell。
so[urce] file 从档案中读取命令
[range] s[ubstitute] [/被取代的样式/取代样式/]
在某围内将符合的样式用取代样式取代。
su[spend][!] 暂停程式进行,回到shell,用fg回复
st[op][!] 同su!
ve[rsion] 显示vi编辑器的版本。
vi[sual] 进入vi (ex mode用)
viu[sage] [command] 显示vi command的语法,若没有特别指定,则显示全部。
[围] w[rite][!] [>>] [file_name] 将围内容附加到档案file_name。
[围] w[rite][!] [file_name] 将围内容另存新档file_name。
[围] wq[!] [>>] [file_name] 将围的内容附加到档案file_name并离开。
x[!] 强制存档
◎参考资料: man vi