vi编辑器的使用和常用命令

Vi编辑器

以linux下编辑hello.c为例子

#vi hello.c回车后进入编辑器

进入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     光标左移一个字符

kCtrl+p     光标上移一行

jCtrl+n     光标下移一行

Enter         光标下移一行

wW          光标右移一个字至字首

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

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

)             :光标移至句尾

(             :光标移至句首

}             :光标移至段落开头

{             :光标移至段落结尾

nG            :光标移至第n行首

+n            :光标下移n行

-n         :光标上移n行

n$            :光标移至n行尾

H             :光标移至屏幕顶行

M             :光标移至屏幕中间行

L             :光标移至屏幕最后行

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

$             :光标移至当前行尾

 

屏幕翻滚类命令

Ctrl+u            向文件首翻半屏

Ctrl+d            向文件尾翻半屏

Ctrl+f            向文件尾翻一屏

Ctrlb           向文件首翻一屏

Ctrle           屏幕下卷一行

 

插入文本类命令

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  将第n1n2行中所有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,n 2 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的输出结果放到当前行。

 

 

 

附:vim中显示颜色或不显示颜色

 

首先确保安装了vim-enhanced包,然后,vi ~/.vimrc;  如果有syntax on,则显示颜色,syntax off,则不显示颜色

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值