红联Linux门户
Linux帮助

Linux下的Vi编辑器的使用

发布时间:2014-08-13 10:48:24来源:linux网站作者:linux

【vi编辑器】

一、进入vi的命令

vi tech :打开或新建文件,并将光标置于第一行首

vi +N tech :打开文件,并将光标置于第N行首

vi + tech :打开文件,并将光标置于最后一行首

vi +/pattern tech:打开文件,并将光标置于第一个与pattern匹配的串处

vi -r tech :在上次正用vi编辑时发生系统崩溃,恢复tech


二、移动光标类命令

h :光标左移一个字符

l :光标右移一个字符

space:光标右移一个字符

Backspace:光标左移一个字符

k或Ctrl+p:光标上移一行

j或Ctrl+n :光标下移一行

Enter :光标下移一行

w或W :光标右移一个字至字首

b或B :光标左移一个字至字首

e或E :光标右移一个字至字尾

) :光标移至句尾

( :光标移至句首

}:光标移至段落开头

{:光标移至段落结尾

NG:光标移至第N行首

N+:光标下移N行

N-:光标上移N行

N$:光标移至第N行尾

H :光标移至屏幕顶行

M :光标移至屏幕中间行

L :光标移至屏幕最后行

0:(注意是数字零)光标移至当前行首

$:光标移至当前行尾


三、屏幕翻滚类命令

Ctrl+u:向文件首翻半屏

Ctrl+d:向文件尾翻半屏

Ctrl+f:向文件尾翻一屏

Ctrl+b;向文件首翻一屏

Nz:将第N行滚至屏幕顶部,不指定N时将当前行滚至屏幕顶部。


四、插入文本类命令

i :在光标前

I :在当前行首

a:光标后

A:在当前行尾

o:在当前行之下新开一行

O:在当前行之上新开一行

r:替换当前字符

R:替换当前字符及其后的字符,直至按ESC键

s:从当前光标位置处开始,以输入的文本替代指定数目的字符

S:删除指定数目的行,并以所输入文本代替之

Ncw或NCW:修改指定数目的字

NCC:修改指定数目的行


五、删除命令

Ndw或NdW:删除光标处开始及其后的N-1个字

do:删至行首

d$:删至行尾

Ndd:删除当前行及其后N-1行

x或X:删除一个字符,x删除光标后的,而X删除光标前的

Ctrl+u:删除输入方式下所输入的文本


六、搜索及替换命令

/qq:从光标开始处向文件尾搜索qq

?qq:从光标开始处向文件首搜索qq

n:在同一方向重复上一次搜索命令

N:在反方向上重复上一次搜索命令

:s/p1/p2/g:将当前行中所有p1均用p2替代

:N1,N2s/p1/p2/g:将第N1至N2行中所有p1均用p2替代

:g/p1/s//p2/g:将文件中所有p1均用p2替换


七、vi命令使用举例

例一:创建文件a.txt。

vi a.txt

Hello everyoNe!

:wq //在退出时,直接输入:wq会发现退不出去,退出方法是:编辑完成后按ESC,然后输入:q就是退出;还有:wq是保存后退出,加感叹号是表示强制。