问题描述
在一般的编辑器里都可以用ctrl+shift+f 来方便的搜索某个目录(or 项目)下的所有文件,在vim里怎么实现呢?
问题解答
回答1:最简单的: :vimgrep /{pattern}/ /yourpath遍历搜索的结果使用::cprev[ious] 前一个文件:cnext 下一个文件:cfirst 第一个文件:clast 最后一个文件
回答2:简单一点,安装插件吧,你要的是根据文件名搜索,推荐 CtrlP,Command-T,FuzzFinder,Unite 等等都可以,先从 CtrlP 或 CommandT 开始吧,熟了以后可以试试更强悍的 Unite。
回答3:Find in files within Vim
比如我想搜索在当前目录中搜索layout,只需要:
:lvim /<(house|home)>/gj *
然后用下面命令显示查询结果:
:lw
截图如下:
还可以看这篇文章:Search multiple files with :vimgrep
回答4:推荐exVim搜索符号很方便非符号文本(比如中文)用楼上说的vimgrep
回答5:安装 ag 或 ack在VIM中执行如下命令 :set grepprg=ag