当前位置:Linux教程 - Linux - vi介绍编 (3) ex命令

vi介绍编 (3) ex命令

本文出自:OHaHa的学习心得[ohaha.ks.edu.tw] 作者:蓝色泡泡(panda@ks.edu.tw)

◎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[!] 强制存档