grep插件可以实现多文件搜索,vim自带的grep插件我感觉并不太好用。
1. vim自带的vimgrep功能
:vimgrep 用于多文件搜索,如
1) :vim[grep] start_stage * 在当前目录下(不包括子目录)搜索
2) :vim[grep] start_stage ** 在当前所有目录(包括子目录)搜索
3) :vim[grep] /start_stage/ * 在当前目录下搜索正则start_stage
4) :vim[grep] /start_stage/ ** 在当前所有目录下搜索正则start_stage
grep四个字符可以省略,即使用时们写vim即可。
2. 安装grep插件
2.1 安装grep.vim
2.1.1 手动安装
下载grep
使用Vundle安装
输入:PluginSearch后搜索grep,按i键直接进行安装
配置文件中加入Plugin ‘grep.vim’
2.2 安装grep.exe
由于windows系统没有自带的grep,因此需要另外安装grep,下载grep for windows,下载后记得配置环境变量(这一点是比较困惑的,刚开始由于没有安装grep.exe导致grep无法使用,关键是vim显示的错误提示还是乱码,搞了半天最后才发现windows没有grep程序)
2.2 配置
我的配置很简单:设置F3为快捷键
Plugin 'grep.vim'
nnoremap <silent> <F3> :Grep<CR>
3. 使用grep
3.1 部分命令说明
- :Grep 按照指定的规则在指定的文件中查找
- :Rgrep 同上, 但是是递归的grep
- :GrepBuffer 在所有打开的缓冲区中查找
- :Bgrep 同上
- :GrepArgs 在vim的argument filenames (:args)中查找
- :Fgrep 运行fgrep
- :Rfgrep 运行递归的fgrep
- :Egrep 运行egrep
- :Regrep 运行递归的egrep
- :Agrep 运行agrep
3.2 使用方法
①这样如果你想在文件中查找”grep”, 则只需将光标移到”grep”, 然后按下F3键即可。
②然后命令行会显示Search for pattern: grep
③按下回车后会显示Search in files: *
这是询问你搜索范围,。默认是该目录下的所有文件, 此时你还可以编辑该行, 比如你只想搜索html文件:Search in files: *.html
④然后按下回车 会在弹出的QuickFix窗口中列出所有符合条件的搜索结果。