Linux上使用Vim进行文件搜一般使用grep命令+grep.vim插件完成, 但在Windows上使用grep就有些不方便了, GnuWin32和UnxUtils虽然都提供了Windows移植版本的Grep.exe, 但都有bug, 比如:
在Windows上使用grep还有一个折衷的办法: 使用Cygwin环境, 不过今天这里不讨论Cygwin…
偶然在这个博客上发现了EasyGrep插件的介绍: vim中的杀手级插件: EasyGrep, 当时我是多么执着于在Windows上移植Grep和ack啊… 浪费了不少时间之后才发现还是使用现成的工具比较好-.-
EasyGrep的安装
如果你已经使用了Vundle管理Vim插件, 只需要在.vimrc里增加Bundle 'EasyGrep'
然后使用:BundleInstall
安装即可.
How To Use
\vv
or:Grep
:\vv
命令将在文件中搜索当前光标下的单词,:Grep word
将搜索”word”, 如果加叹号:Grep !word
表示全词匹配的方式搜索, Grep也可以带参数, 比如:Grep -ir word
, r表示递归目录. i表示不区分大小写.\vV
: 全词匹配搜索, 同:Grep !word
;\va
: 与vv
相似, 搜索结果append在上次搜索结果之后;\vA
: 与vV
相似, 搜索结果append在上次搜索结果之后;\vr
or:Replace
:替换;\vo
or:GrepOptions
: 打开选项菜单;
GrepOptions打开的界面:
上方红色的是快捷键help, 比如q
是退出GrepOptions, r
是开启递归搜索…
下方兰色的可以选择搜索范围(回车选择): All表示全部搜索, Buffer表示只搜索当前打开的buff, TrackExt几乎包括所有常见的文件类型, 比如C++, PHP, Lisp等源文件. User是自己制定文件类型.
Options Details
每个Option的解释可以参考Github上的README
" plugin::EasyGrep { |