VIM 多文件查找替换

Vim中也可以像普通ide那样的在多个文件中查找的功能,用的是:vimgrep这条命令,格式如::vimgrep /AAA/ **/*.* 。执行这条命令后,可以通过:cw命令打开匹配的窗口进行查询结果的查看。

   另外,vim还可以通过args命令对多个文件进行批量操作。可以参考下面这篇文章:

原文地址:http://insen.info/2009/09/20/vim-multi-files-find-and-replac/

=========================================================

在我们的日常工作中,经常需要将多个文件中的某个字段替换为其他的字段,但多数的编辑器只提供了在打开文件中的查找和替换(当然,也有很多强大的编辑器支持多文件查找和替换,如EditPlus支持在所有打开文件中查找和替换等等),那么,在强大的Vim中,如何进行多文件的查找和替换呢?

答案是利用 args 命令!

举例说明,如果你想将当前目录下所有类型的文件中的 oldword 替换为 newword,那么只需要打开当前目录下的某个文件,输入如下两条命令并回车:

:args *.*
:argdo %s/oldword/newword/egc | update

接下来的工作就是确认Vim查找到的那个关键词是否要被替换。是则按下 y ,否则按下 n。

我们解释下所用到的命令:


第一行,我们使用 args 命令,将当前目录下所有类型的文件都加入到参数列表中(不包括子文件夹中的文件,),以备后续操作。
args命令我还没完全搞清楚,嘿嘿。实验了下,使用 :args */* 的话,是将当前目录下 所有在子文件夹中的目录和子文件夹中的文件(不包括下一级文件)加入参数列表中。
了解了这点,你也可以只替换需要的类型,如 :args *.html。举一反三,反不出来的,再去Google,呵呵。
第二行,使用 argdo 命令,对参数列表中的文件进行替换操作。s 就是替换命令了,加上 % 指对所有行,即全文匹配。g 指对每一行中所有匹配的地方都执行替换,e 指使用正则模式,为了区分大小写。最后的 c 指每次替换前,都要确认一下。

查找操作呢?引用一下别人的命令吧:



查找
:args *.cpp
:argdo /word
替换
:args *.cpp
:argdo %s/word/NEW/eg | update

最后说一点,如果操作失误怎么办?上面的命令是直接操作文件,即存盘了的。
操作失误?那就狂按 u 吧,呵呵。

 

====

http://kangzye.blog.163.com/blog/static/3681922320106935642796/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值