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