========
Linux上使用Vim進(jìn)行文件搜一般使用grep命令+grep.vim插件完成, 但在Windows上使用grep就有些不方便了, GnuWin32和UnxUtils雖然都提供了Windows移植版本的Grep.exe, 但都有bug, 比如:
在Windows上使用grep還有一個(gè)折衷的辦法: 使用Cygwin環(huán)境, 不過(guò)今天這里不討論Cygwin...
偶然在這個(gè)博客上發(fā)現(xiàn)了EasyGrep插件的介紹: vim中的殺手級(jí)插件: EasyGrep, 當(dāng)時(shí)我是多么執(zhí)著于在Windows上移植Grep和ack啊... 浪費(fèi)了不少時(shí)間之后才發(fā)現(xiàn)還是使用現(xiàn)成的工具比較好-.-
EasyGrep的安裝
如果你已經(jīng)使用了Vundle管理Vim插件, 只需要在.vimrc里增加Bundle 'EasyGrep'
然后使用:BundleInstall
安裝即可.
How To Use
-
\vv
or:Grep
:\vv
命令將在文件中搜索當(dāng)前光標(biāo)下的單詞,:Grep word
將搜索"word", 如果加嘆號(hào):Grep !word
表示全詞匹配的方式搜索, Grep也可以帶參數(shù), 比如:Grep -ir word
, r表示遞歸目錄. i表示不區(qū)分大小寫(xiě). -
\vV
: 全詞匹配搜索, 同:Grep !word
; -
\va
: 與vv
相似, 搜索結(jié)果append在上次搜索結(jié)果之后; -
\vA
: 與vV
相似, 搜索結(jié)果append在上次搜索結(jié)果之后; -
\vr
or:Replace
:替換; -
\vo
or:GrepOptions
: 打開(kāi)選項(xiàng)菜單;
GrepOptions打開(kāi)的界面:
![圖1: GrepOptions打開(kāi)的界面](/_image/2014-10-24/EasyGrep.png)
圖1: GrepOptions打開(kāi)的界面
上方紅色的是快捷鍵help, 比如
q
是退出GrepOptions, r
是開(kāi)啟遞歸搜索...下方蘭色的可以選擇搜索范圍(回車(chē)選擇): All表示全部搜索, Buffer表示只搜索當(dāng)前打開(kāi)的buff, TrackExt幾乎包括所有常見(jiàn)的文件類(lèi)型, 比如C++, PHP, Lisp等源文件. User是自己制定文件類(lèi)型.
Options Details
每個(gè)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"