vi 编辑器中有三种状态模式
1. 命令模式
2. 输入模式
3. 末行模式
三种模式间的相互转换
vi 编辑器的启动与退出
直接进入编辑环境
$ vi
进入编辑环境并开启(新建)档案
$ vi myfile
退出 vi 编辑环境
输入末行命令放弃对档案的修改,并退出编辑器
:q!
档案储存与另存为
储存档案
储存对 vi 编辑器中已开启档案的修改
:w
另存为档案
将 vi 编辑器中的内容另存为指定档名
:w myfile
退出 vi 编辑器的多种方法
未修改退出
没有对 vi 编辑器中开启的档案进行修改,或已对修改进行了储存,直接退出 vi 编辑器
:q
储存并退出
对 vi 编辑器中的档案进行储存并退出 vi 编辑器
:wq
不储存退出
放弃对档案内容的修改,并退出 vi 编辑器
:q!
游标的移动和翻页操作
操作型别游标操作键功能
游标移动 h 向左移动游标
l 向右移动游标
k 向上移动游标
j 向下移动游标
翻页 Ctrl + f 向前翻整页
Ctrl + b 向后翻整页
Ctrl + u 向前翻半页
Ctrl + d 向后翻半页
行内快速跳转
操作键功能
^将游标快速跳转到本行的行首字元
$将游标快速跳转到本行的行尾字元
w 将游标快速跳转到当前游标所在位置的后一个单词的首字母
b 将游标快速跳转到当前游标所在位置的前一个单词的首字母
e 将游标快速跳转到当前游标所在位置的后一个单词的尾字母
档案内行间快速跳转
命令功能
:set nu 在编辑器中显示行号
:set nonu 取消编辑器中的行号显示
1G 跳转到档案的首行
G 跳转到档案的末尾行
#G 跳转到档案中的第 #行
进入输入模式
命令功能
i 在当前游标处进入插入状态
a 在当前游标后进入插入状态
A 将游标移动到当前行的行末,并进入插入状态
o 在当前行的下面插入新行,游标移动到新行的行首,进入插入状态
O 在当前行的上面插入新行,游标移动到新行的行首,进入插入状态
cw 删除当前游标到所在单词尾部的字元,并进入插入状态
c$删除当前游标到行尾的字元,并进入插入状态
c^命令删除当前游标之前(不包括游标上的字元)到行首的字元,并进入插入状态
输入模式的编辑键操作
按键功能
方向键进行上下左右方向的游标移动
Home 快速定位游标到行首
End 快速定位游标到行尾
PageUp 进行文字的向上翻页
PageDown 进行文字的向下翻页
Backspace 删除游标左侧的字元
Del 删除游标位置的字元
删除操作
命令功能
x 删除游标处的单个字元
dd 删除游标所在行
dw 删除当前字元到单词尾(包括空格)的所有字元
de 删除当前字元到单词尾(不包括单词尾部的空格)的所有字元
d$删除当前字元到行尾的所有字元
d^删除当前字元到行首的所有字元
J 删除游标所在行行尾的换行符,相当于合并当前行和下一行的内容
撤消操作
命令功能
u 取消最近一次的操作,并恢复操作结果
可以多次使用 u 命令恢复已进行的多步操作
U 取消对当前行进行的所有操作
Ctrl + r 对使用 u 命令撤销的操作进行恢复
复制与贴上操作
命令功能
yy 复制当前行整行的内容到 vi 缓冲区
yw 复制当前游标到单词尾字元的内容到 vi 缓冲区
y$复制当前游标到行尾的内容到 vi 缓冲区
y^复制当前游标到行首的内容到 vi 缓冲区
p 读取 vi 缓冲区中的内容,并贴上到游标当前的位置(不覆盖档案已有的内容)
字串查询操作
命令功能
/word 从上而下在档案中查询字串 “word”
?word 从下而上在档案中查询字串 “word”
n 定位下一个匹配的被查询字串
N 定位上一个匹配的被查询字串
字串替换操作
命令功能
:s/old/new 将当前行中查询到的第一个字元 “old” 串替换为 “new”
:s/old/new/g 将当前行中查询到的所有字串 “old” 替换为 “new”
:#,#s/old/new/g 在行号 “#,#” 范围内替换所有的字串 “old” 为 “new”
:%s/old/new/g 在整个档案范围内替换所有的字串 “old” 为 “new”
:s/old/new/c 在替换命令末尾加入 c 命令,将对每个替换动作提示使用者进行确认
vi 编辑器的线上帮助
使用 vi 线上帮助需安装的站群软件包
vim-common-6.3.035-3.i386.rpm
vim-enhanced-6.3.035-3.i386.rpm
站群软件包在 RHEL5 的第 2 张安装光碟
使用 vi 线上帮助的两种方法
在 vi 编辑器中按 “F1” 键
输入 help 末行命令
:help