vi是linux系统命令行界面下的一个强大的编辑器。
命令模式:可通过vi命令来管理文件,如光标的移动,字符、行的删除移动等;
插入模式:可对文件进行编辑;
末行模式:可保存、退出、设置编辑环境等;
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 (在RHEL5中测试没有用)
vi filename....filename :打开多个文件,依次进行编辑 (在RHEL5中测试没有用)
:w 保存
:w filename 另存为filename文件中
:q 退出vi,若文件被修改过,则提示要保存
:wq 保存并退出,即w和q合成一步,先w后q
:x 保存当前文件并退出,和wq等价
:q 退出vi
:q! 不保存文件并退出vi
以下的光标移动都是在命令模式下起作用的。
h 或space 光标左移一个字符
l 或Backspace 光标右移一个字符
k或Ctrl+p 光标上移一行
j或Ctrl+n 光标下移一行
^ 将光标移动到所在行的行首
$ 将光标移动到所在行的行尾
H 把光标移到屏幕顶行的首字符处
L 把光标移到屏幕末行的尾字符处
Ctrl+b 屏幕往后移一屏
Ctrl+f 屏幕往前移一屏
Ctrl+u 屏幕往后移半屏
Ctrl+d 屏幕往前移半屏
M :光标移至屏幕中间行
Enter :光标下移一行
w或W :光标右移到下一个字至字首
b或B :光标左移到前一个字至字首
e或E :光标右移到下一个字至字尾
fc 把光标移到同一行的下一个c字符处(c可以是任何一个字符)
Fc 把光标移到同一行的前一个c字符处
tc 把光标移到同一行的下一个c字符的前一格
Tc 把光标移到同一行的前一个c字符的后一格
*| 把光标移到第*列上(“|”是与符号的竖线,*代表一个整数)
*l 把光标往右移动*个字符(“l”是与字符L的小字,*代表一个整数)
*h 把光标向左移动*个字符
*k 把光标向上移动*个字符
*j 把光标向下移动*个字符
) 把光标移至句尾
( 把光标移至句首
} 把光标移至段落开头
{ 把光标移至段落结尾
*G:光标移至第*行首
*+:光标下移*行
*-:光标上移*行
*$:光标移至第*行尾
命令 |
描述 |
i |
在当前字符前插入文本 |
I |
在行首插入文本 |
a |
在当前字符后添加文本 |
A |
在行末添加文本 |
o |
在当前行后面插入一空行 |
O |
在当前行前面插入一空行 |
R |
以改写方式输入文本 |
命令 |
描述 |
x |
删除光标所在位置的字符 |
X |
删除光标所在位置的前一个字符 |
*x |
删除*个字符,从当前光标开始的*个字符 |
d$ |
删除从当前光标到行末的内容 |
d^ |
删除从当前光标到行首的内容 |
dd |
删除当前所在的一行 |
*d |
删除*行,当前所在的一行和后*-1行 |
dw |
删除一个字 |
*dw |
删除*个单词 |