1.vi的基本操作
进入vi可以直接在系统提示字下键入vi<文档名称>,vi可以自动载入所要编辑的文档或是开启一个新的文档。如在shell中键入vi hi.c则可进入vi画面。
进入vi后屏幕左方会出现~,具有该符号就代表此列目前是空的。此时进入的是命令行模式。
要离开vi可以在底行模式下键入“:q”(不保存离开),“:wq”(保存离开)指令则是存
档后再离开(注意冒号)。
2. vi中3种模式的切换
(1)命令行模式、底行模式转为插入模式
在命令行模式或底行模式下转入到插入模式有3种方式,如下所示。
新增 a 从光标所在位置后面开始新增资料,光标后的资料随新增资料向后移动
A 从光标所在行最后面的地方开始新增资料
插入 i 从光标所在位置前面开始插入资料,游标后的资料随新增资料向后移动
I 从光标所在行的第一个非空白字元前面开始插入资料
开始 o 在光标所在行下新增一列,并进入插入模式
O 在光标所在行上方新增一列,并进入插入模式
(2)插入模式转为命令行模式、底行模式
从插入模式转为命令行模式、底行模式比较简单,只需使用[Esc]键即可。
(3)命令行模式与底行模式转换
输入冒号,则为底行模式,使用[Esc]键可以退出底行模式而进入命令行模式。
3.vi的删除、修改与复制
x 删除光标所在的字符
删除 dd 删除光标所在的行
s 删除光标所在的字符,并进入输入模式
S 删除光标所在的行,并进入输入模式
r 待修改字符修改光标所在的字符,键入r后直接键入待修改字符修改
R 进入取代状态,可移动光标, 向所指位置键入字符,该字符取代原来的 字符,该取代状态直到按[Esc]才结束
yy 复制光标所在的行复制
yny 复制光标所在的行向下n行
p 将缓冲区内的字符粘贴到光标所在位置
4. vi的光标移动
0 移动到光标所在行的最前面
$ 移动到光标所在行的最后面
[Ctrl]d 光标向下移动半页
[Ctrl]f 光标向下移动一页
H 光标移动到当前屏幕的第一行第一列
M 光标移动到当前屏幕的中间行第一列
L 光标移动到当前屏幕的最后行第一列
b 移动到上一个字的第一个字母
w 移动到下一个字的第一个字母
e 移动到下一个字的最后一个字母
^ 移动到光标所在行的第一个非空白字符
n- 向上移动n行
n+ 向下移动n行
nG 移动到第n行
5、vi的查找与替换
/<要查找的字符> 向下查找要查找的字符
?<要查找的字符> 向上查找要查找的字符
:0,$s/string1/string2/g 0,$:替换范围从第0行到最后一行
s:转入替换模式
string1/string2:把所有string1替换为string2
g:强制替换而不提示
6、vi的文件操作指令
vi中的文件操作指令都是在底行模式下进行的,所有的指令都是以“:”开头。
:q 结束编辑,退出vi
:q! 不保存编辑过的文档
:w 保存文档,其后可加要保存的文件名
:wq 保存文档并退出
:zz 功能与“:wq”相同
:x 功能与“:wq”相同