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