vim tips

推荐一个有关vi写的比较好的文章,总共有三部分,常用的操作都有介绍.


1.当光标在一个单词的下方时,按下K键,可以查阅该单词的man pages


2.统计一个模式出现的次数

:%s/patten//gn
需要注意的是s前边的%,意思是整篇文档范围内搜索,如果指定某两行之间,可以用如下的方式(统计第50行到第100行之间patten出现的次数)
:50,100s/patten//gn

3.使用缩写快速输入长单词

ab cn China

挡在文档中输入cn,并且空格时,vim自动把cn替换为China,在长单词比较多时非常有用


4.删除当前行

dd
删除当前字符到行尾
d$或者D
删除当前字符到行首
d0
删除当前行到最后一行
dG
删除当前行到第一行
dgg
删除当前字符到该行第n个字符c
dnfc

删除当前行以下n行

ndd
5.查找下一个(上一个)与当前光标所在单词匹配的单词
*(#)
可以利用:set ignorecase忽略大小写

如下两个命令同样可以匹配单词,不过条件放宽到字符串中有匹配的即可

g*(g#)

定位到与当前括号匹配的另一个括号

%
定位到当前代码块的起始处
[{

6.录制宏

qa(a是宏的名字,当然可以是其它的字符)
结束录制
q
需要注意的是如果想要对多行进行操作,在结束录制前要执行向下一行(j)的操作,这样才可以正常的用:n@a重复多次宏操作

为多个要输出的字符串添加printf语句的方法如下:

qa
0
i
printf("
$
");
j
q
然后用命令10@a,即可对当前行以下10行进行添加printf语句的操作


7.无条件退出(不保存)

ZQ
存盘退出
ZZ


8.跳转到最近修改过的位置

'.(单引号+句点)


9.大小写转换

vi中大小写转换的命令是

gu 和 gU
非常形象,gu是转换为小写,gU是转换为大写,以下只给出转换为大写的情况,小写的只需改为小写u即可

把当前光标所在单词转换为大写

gUw
把当前光标所在行全部字符转换为大写
gUU
把当前光标所在行全部字符转换为小写
guu
把包括当前行在内的以下三行转换为大写(同样可以用在包括当前单词在内的以下三个单词)
3gUU

把整篇文章转换为大写

gggUG(相当于gg gU G)

当前光标到行尾字符转换为大写

gU$
当前光标到行首字符转换为大写
gU0

当前光标到文档结尾转换为大写

gUG
当前光标到文档首部转换为大写

gU1G

当前光标所在字符大小写转换

~
在可视模式下把选中的内容转换为大写
U

10.显示当前编辑文件的信息(包括路径,文件名,读取状态等)

1 CTRL+G

不加前边的数字,只会显示文件名字,不显示文件路径


11.同时打开多个文件,并且分屏显示

//横向显示,相当于split
vim -o file1 file2 file3

//纵向显示,相当于vsplit
vim -O file1 file2 file3

12.删除匹配行

下面的命令删除所有注释(每行注释都以#开头)

g/^#/d


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值