SCO UNIX基础讲座--第三讲vi editor

任何用户最常做的事要数创建和编辑文件,包括文档、报告和文
字,vi(Visual Editor)是一个有效而相对简单的全荧幕编辑,
使用vi,只要记著少量基本指令,就可以开始起步,再学习其他
更复杂的指令,而系统管理员则使用vi管理和维护系统 。

vi是包含在SCO System V作业系统中的全荧幕编辑,其实,vi不
独存在於SCO Unix内,而是UNIX内相当普及的文件编辑 。开
启文件

无论是开启新档或修改旧文件,都可以使用vi,所需指令为:

$ vi filemane

如果文件是新的,就会在荧幕底部看到一个信息,告诉用户正在
创建新文件 。如果文件早已存在,vi则会显示文件的首廿四行,
用户可再用游标(cursor)移动文件 。

This is what vi looks like.





上面是一个经vi开启的模拟文件,一行开始处的波折号(~)表
示文件的结尾 。指令态与插入态

vi使用了两种状态,一是指令态(Command Mode),另一是插入
态(Insert Mode) 。当vi处於指令态时,打入的内容会视作指令
来解释;另一方面,当vi处於插入态时,就可以打入正文(text)
给文件 。

大多数vi指令是单字符,由插入态改变为指令态,指〈Esc〉键;
而由命令态转为插入态,则可以使用下面的插入令,直接打入,
无需再按〈Return〉键 。

—指令i在游标处插入正文

—指令I在一行开始处插入正文

—指令a在游标後追加正文

—指令A在行尾追加正文

—指令o在游标下面新开一行

—指令O在游标上面新开一行

要记著一点,在插入态处,不能打入指令,必需先按〈Esc〉键,
返回指令态 。假若户不知身处何态,也可以按〈Esc〉键,不管处
於何态,都会返回指令态 。

存档及退出

在修改文件时,如何存档及退出指定文件都非常重要 。在vi内,
行使存档或退出的指令时,要先按冒号(:),改变为指令态,用
户就可以看见在荧幕左下方,出现冒号(:),显示vi已经改为指
令态,可以进行存档或退出等工作 。

下面就是一些这方面常用的指令 。

:q!放弃任何改动而退出vi,也就是强行退出

:w存档

:wq存档并退出vi

:x与wq的工作一样

:zz与wq的工作一样删除正文

删除或修改正文都是利用插入态,故此,下面所提及的指令只需
在插入态内,直接选入指令即行 。

—x删除游标处字符(Character)

—nx删除游标处後n个字符

—nX删除游标处前n个字符

—ndw删除游标处下n个单词(Word)

—dd删除整行

—d$或D删除由游标至该行最末

—u恢复前一次所做的删除

修改正文

当使用vi修改正文,加减字符时,就会采用另一组在插入态操作
的指令 。

— r char由char代替游标处的字符

—Rtext〈Esc〉由text代替游标处的字符

—cwtext〈Esc〉由text取代游标处的单词

—Ctext〈Esc〉由text取代游标处至该行结尾处

—cc使整行空白,但保留游标位置,让你开始打入

—如删除指令一样,在指令前打入的数,表示执行该指令多少次 。
正文模式检索

要检索文件,必需在指令态下进行 。所谓「模式」,就是一个特
定字符串,其中可含空格符 。

—/str〈Return〉向前搜寻str直至文件结尾处

—?str〈Return〉往後搜寻str直至文件开首处

—n同一方向上重复检索

—N相反方向上重复检索

—vi缠绕整个文件,不断检索,直至找到与模式相匹配的下一个

推荐阅读