嵌入式学习入门 http://blog.chinaunix.net/u3/117680/showart.php?id=2300212
vi 是 Unix 和 Linux 操作系统使用的全屏幕文本编辑器,任何一台安装了 Unix 或
Linux 的机器都会提供这套软件,它是系统管理员手中得力的工具。vi 的用法和 DOS 下
的文本编辑器有较大的区别,刚开始使用时可能不太习惯,但这是我们的实验系统配置的编
辑器,应该要学会掌握。
2.4.1 vi 的操作模式
vi 有三种操作状态:命令模式(Command mode)、插入模式(Insert mode)和末行命令
模式(Last line mode)。它们的功能如下:
1. 命令模式:当执行 vi 后,首先会进入指令模式,此时输入的任何字符都被视为指
令。命令模式用于控制屏幕光标的移动,文本的删除,移动复制某区段,进入插入模式下,
或者进入末行命令模式。
2. 插入模式:在命令模式下输入相应的插入命令进入该模式。只有在插入模式下,才
可做文字数据输入,按Esc 可回到命令模式。
3. 末行命令模式:在命令模式下输入某些特殊字符,如/、?和:,可进入末行命令模
式。在该模式下可储存文件或离开编辑器,也可设置编辑环境,如寻找字符串、列出行号等。
2.4.2 vi 的进入与退出
一. 进入vi
若要编辑文件 myfile,执行如下指令即可:
59
ndd 删除包括光标所在行的n 行文本
r 修改光标所在字符
R 进入替换状态,直到按 ESC 回到指令模式为止。[Insert]
s 删除光标所在字符,并进入输入模式
S 删除光标所在的行,并进入输入模式
u 恢复刚才被修改的文本
U 恢复光标所在行的所有修改
. 重复上一次命令的操作
3. 复制
命令 说明
Y 复制当前行至编辑缓冲区
nY 复制当前行开始的n 行至编辑缓冲区
p 将编辑缓冲区的内容粘贴到光标后的一行
P 将编辑缓冲区的内容粘贴到光标前的一行
二. 插入模式的常用命令
命令 说明
a 从光标所在位置后面开始新增文本
A 从光标所在行最后面的地方开始新增文本
i 从光标所在位置前面开始插入文本
I 从光标所在列的第一个非空白字元前面开始插入文本
o 在光标所在列下新增一行并进入输入模式
O 在光标所在列上方新增一行并进入输入模式
三. 末行命令模式的常用命令
命令 说明
:q 结束编辑
:q! 强制离开vi,放弃存盘
:w 存盘
:w filename 将编辑内容存为名为filename 的文件
:wq 存盘并退出
ZZ 存盘并退出(这属于命令模式)
:x 若有修改存盘,退出程序
:e filename 编辑名为 filename 的文件
:set nu 显示行号
:set nonu 不显示行号
/exp 往前查找字符串 exp
?exp 往后查找字符串 exp
vi 是一个功能强大的编辑器,以上只罗列了一些常用命令,若想了解更多的操作方法,
请参阅相关的参考书籍。