1. 进入
vi 在系统提示字符(如$、#)下敲入 vi <档案名称>,vi 可以自动帮你载入所要编辑的文件或是开启个新文件(如果该文件不存在或缺少文件名)。进入 vi 后萤幕左方会出现波浪符号,凡是列首有该符号代表此列目前是空的。
2. 两种模式
如上所述,vi 存在两种模式:指令模式和输入模式。在指令模式下输入的按键将做为指令来处理:输入 a,vi 即认为是在当前位置插入字符。而在输入模式下,vi 则把输入的按键当作插入的字符来处理指令模式切换到输入模式只需键入相应的输入命令即可(如a,A),而要从输入模式切换到指令模式,则在输入模式下键入 ESC键,如果不晓得现在是处於什麽模式,可以按2次 [ESC],系统如发出哔哔声表示已处于指令模式下了。
付:有指令模式进入输入模式的指令:
新增 (append)
a :从光标所在位置后面开始新增资料,光标后的资料随新增资料向后移动。
A: 从光标所在行最后面的地方开始新增资料。
插入 (insert)
i: 从光标所在位置前面开始插入资料,光标后的资料随新增资料向后移动。
I :从光标所在列的第一个非空白字元前面开始插入资料。
新增一行 (open)
o :在光标所在行下新增一行并进入输入模式。
O: 在光标所在列上方新增一列并进入输入模式。
3. 退出vi
在指令模式下键入:q,:q!,:wq或:x(注意:号),就会退出vi。其中:wq和:x是存盘退出,而:q是直接退出如果文件已有新的变化,vi 会提示你保存文件而:q 命令也会失效,这时你可以用:w 命令保存文件后再用退出,或用:wq 或:x 命令退出,如果你不想保存改变后的文件,你就需要用:q!命令,这个命令将不保存直接退出vi。zz 功能与 :wq 相同。
4. 基本编辑
删除与修改文件的命令:
x:删除光标所在字符。
dd:删除光标所在的行。
r :修改光标所在字元,r 后接着要修正的字符。
R:进入替换状态,新增文字会覆盖原先文字,直到按 [ESC] 回到指令模式下为止。
s:删除光标所在字元,并进入输入模式。
S:删除光标所在的行,并进入输入模式。
u:可以恢复被删除的文字。
U:可以恢复光标所在行的所有改变。
移动光标的基本指令是 h, j, k, l 。 h--左,j--下,k--上,l--右。
更多的编辑指令:
这些编辑指令非常有弹性,基本上可以说是由指令与范围所构成。
d: 删除(delete)
y: 复制(yank)
p: 放置(put)
c: 修改(change)
范围可以是下列几个:
e 光标所在位置到该字的最后一个字母
w 光标所在位置到下个字的第一个字母
b 光标所在位置到上个字的第一个字母
$ 光标所在位置到该行的最后一个字母
0 光标所在位置到该行的第一个字母
) 光标所在位置到下个句子的第一个字母
( 光标所在位置到该句子的第一个字母
) 光标所在位置到该段落的最后一个字母
{ 光标所在位置到该段落的第一个字母
cc: 修改整行文字。
yy:复制整行文字。
D: 删除光标到该列结束为止所有的文字。
5. 光标移动指令
0 移动到光标所在行的最前面 [Home]
$ 移动到光标所在行的最后面 [End]
[CTRL][d] 向下半页
[CTRL][f] 向下一页 [PageDown]
[CTRL][u] 向上半页
[CTRL][b] 向上一页 [PageUp]
H 移动到视窗的第一行
M 移动到视窗的中间行
L 移动到视窗的最后行
b 移动到下个字的第一个字母
w 移动到上个字的第一个字母
e 移动到下个字的最后一个字母
^ 移动到光标所在列的第一个非空白字元
n- 减号移动到上一行的第一个非空白字元,前面加上数字可以指定移动到以上 n行
n+ 加号移动到下一列的第一个非空白字元,前面加上数字可以指定移动到以下 n 行
nG 直接用数字 n 加上大写 G 移动到第 n 列
fx 往右移动到 x 字元上
Fx 往左移动到 x 字元上
tx 往右移动到 x 字元前
Tx 往左移动到 x 字元前
; 配合 f&t 使用,重复一次
, 配合 f&t 使用,反方向重复一次
/string 往右移动到有 string 的地方
?string 往左移动到有 string 的地方
n 配合 /&? 使用,重复一次
N 配合 /&? 使用,反方向重复一次
6.文件操作指令
文件操作指令多以 : 开头,这跟编辑指令有点区别。
:q 结束编辑(quit)
:q! 不存档而要放弃编辑过的文件。
:w 保存文件(write)其后可加所要存档的档名。
:wq 即存档后离开。
zz 功能与 :wq 相同。
:x 与:wq相同 。