Vim插件EasyGrep使用简介
2014-10-24 本文已影响3022人
黑夜之旅
========
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
let g:EasyGrepMode = 2 " All:0, Open Buffers:1, TrackExt:2,
let g:EasyGrepCommand = 0 " Use vimgrep:0, grepprg:1
let g:EasyGrepRecursive = 1 " Recursive searching
let g:EasyGrepIgnoreCase = 1 " not ignorecase:0
let g:EasyGrepFilesToExclude = "*.bak, *~, cscope.*, *.a, *.o, *.pyc, *.bak"