我什么都有,就是没钱

本人的android:qq群:181235811,欢迎大家加入讨论技术问题呀
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

vim中的一些高级命令的使用

Posted on 2013-12-08 12:01  我什么都有,就是没钱  阅读(460)  评论(1)    收藏  举报

现在一般在windows下面对txt文档操作的时候,我一般使用gvim软件来操作,虽然没有unix/linu下面的正宗,并且很多命令没有,但是还是有很多方便之处的

下面是重温vim命令时,我我自己以前不曾用过的一些命令

  在linux/unix的terminal中输入vimtutor可以打开vim的帮助文档(是中文的)

1.u/U/ctrl+r

u:这个不用说,相当于windows下面的ctrl+z,按下一次撤销一次先前进行的操作

U:这个我以前一直没有用到,因为那个时候搞不懂干什么的,现在知道他是 对当前操作的整行的内容进行修正,也就是说你在当前一行一次性做的所有操作都将恢复。

ctr+r:这个是一个撤销命令,就是对上一次命令的撤销(注意,这个是上一个命令(只针对一个命令)的一次撤销,注意是一次,按下多次ctrl+r的话,是撤销多次,但是还是针对同一个命令)。举个例子:

abcdefghijklmn:我用x删除了从b到g的内容,结果如下:

ahijklmn:然后我使用u回复了d-g的内容,结果如下:

adefghigklmn:然后我按下ctrl+r,结果是撤销了第二部的u的操作,一直按ctrl+r,最后的结果是:

ahijklmn:之后你无论怎么按ctrl+r,结果都是这样,不会回复用x删除的第一步的内容。这就说明了ctrl+r是针对上一次的同一个命令的

 

2.ctrl+g

这可查看当前光标所在的位置,会列出当前vim对应文件的全路径,这个功能有时候是很有用的,比如当你想要看当前编辑文件的全路径的话就会用到。

 

3.逆向搜索?

我们知道/这个是搜索的命令,不过这个是正向搜索,也就是从开头项结尾

而?+内容是逆向搜索,从结尾向开头搜索,用的地方不是很多

 

4.替换命令

:s/old/new :只替换一个(光标所在行)

:s/old/new/g:替换一行的内容

:#,#s/old/new/g:替换从几行到几行的内容

:%s/old/new/g:替换全文见内容

:%s/old/new/gc:这个命令很牛逼,加了一个c,会提示用户是否替换,有点喝windows一样了,和和

这个命令很常用,不过经常忘记前面的s和%s的区别

 

5.在vi中使用外部命令

:!ls -l

就是多加了一个!

 

6.w保存到指定文件和选择性的保存

:w a.txt

保存到了a.txt,就相当于另存为了

:#,# w a.txt

保存指定行数之间的内容到另一个文件中

 

7.r 把另一个文件内容弄进来

:r b.txt

把b.txt得内容插入到光标所在点后面

 

8.A

大些A是直接把光标移动到行尾进行插入

 

9.set ic

:set ic

不区分大小写,这样的话,你用/来搜索的话,就不区分大小写了

 

10.搜索到结果进行高亮显示

:set hls is

去掉的话使用

:set nohls