您的位置:首页 > 运维架构 > Linux

linux 终端文本编辑器vim 使用 命令

2012-07-11 14:23 716 查看

一 进入vi的命令

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

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

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

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

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

vi filename....filename :打开多个文件,依次编辑

VI分为插入模式、命令模式及末行命令模式

由插入模式到命令模式的转换:Esc

二 VI命令模式下的命令

移动光标类命令

h :光标左移一个字符

l :光标右移一个字符

j :光标下移一个字符

k :光标上移一个字符

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 :向文件首翻一屏

Ctrl+e :屏幕下卷一行

插入文本类命令

i :在光标前

I :在当前行首

a :光标后

A :在当前行尾

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

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

r :替换当前字符

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

s :从当前光标位置处开始,以输入的文本替代之

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

ncw或nCW :修改指定数目的字

nC :修改指定数目的行

>> :右移当前段落一个移动宽度(shiftwidth)

<< :左移当前段落一个移动宽度(shiftwidth)

yy :复制当前行

nyy :复制当前开始的n行

p :在当前行的下面粘贴

P :在当前行的上面粘贴

删除命令

ndw或ndW :删除光标处开始及其后的n-1个字

d^ :删至行首

d$ :删至行尾

ndd :删除从当前行开始的n行

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

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

搜索及替换命令 :

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

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

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

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

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

:n1,n2s/p1/p2/g :将第n1至n2行中所有p1均用p2替代

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

. 重复上一个操作

u 撤消上一次操作

~ 切换字符的大小写

三 设置选项(set)

语法:

:set <选项> <参数> (如果需要参数的话)

也可以在一行中指定多个选项

:set all 则显示所有的选项值

对那些无须参数的选项来说,使用:set no<选项>就可以把它给关了

term :设置终端类型

ignorance :在搜索中忽略大小写

list :显示制表位(Ctrl+I)和行尾标志($)

number :显示行号

report :显示由面向行的命令修改过的数目

terse :显示简短的警告信息

warn :在转到别的文件时若没保存当前文件则显示NO write信息

nowrapscan :禁止vi在搜索到达文件两端时,又从另一端开始

mesg :允许vi显示其他用户用write写到自己终端上的信息

vb t_vb= : vi不响铃

hlsearch : 高亮显示搜索匹配结果

四 行方式命令

:n1,n2 co n3 :将n1行到n2行之间的内容拷贝到第n3行下

:n1,n2 m n3 :将n1行到n2行之间的内容移至到第n3行下

:n1,n2 d :将n1行到n2行之间的内容删除

:w :保存当前文件

:e filename :不离开vi编辑<文件>

:e! :重新编辑当前文件,忽略所有的修改

:n :编辑下一个文件

:x :保存当前文件并退出

:q :退出vi

:q! :不保存文件并退出vi

:!command :执行shell命令command

:r!command :将命令command的输出结果放到当前行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐