Dav*_*low 94
您可以在:edit命令中使用通配符.所以,
:e **/test/Suite.java
Run Code Online (Sandbox Code Playgroud)
将打开test/Suite.java,无论它在当前目录层次结构中的何处.这适用于制表符完成,因此您可以在打开文件之前使用[tab]展开通配符.另请参阅wildmode选项以获取浏览所有可能扩展名的方法.
另一个技巧是使用
:r! find . -type f
Run Code Online (Sandbox Code Playgroud)
将当前目录中的所有文件列表加载到缓冲区中.然后,您可以使用所有常用的vim文本操作工具来导航/排序/修剪列表,并CTRL+W gf在新窗格中打开光标下的文件.
Ste*_*ger 44
有一个find命令.如果添加**到路径中,则可以递归搜索.
:set path
Run Code Online (Sandbox Code Playgroud)
将显示您当前的路径,通过执行类似的操作添加**
:set path=.,/usr/include,,**
Run Code Online (Sandbox Code Playgroud)
**我从最初复制之前的位:set path
然后你可以输入
:find myfile.txt
Run Code Online (Sandbox Code Playgroud)
它神奇地打开了!
如果将set命令添加到.vimrc,它将确保您将来可以进行递归搜索.它似乎不搜索点目录(例如.ssh)
Vic*_*der 20
我推荐ctrlp.vim.这是一个非常好的插件,非常适合在大型项目中工作.它具有按文件名或完整路径搜索,正则表达式搜索,项目根的自动检测(具有.git | hg | svn | bzr | _darcs文件夹的文件夹),个性化文件名排除等等.
只需按<c-p>,它将打开一个非常直观的窗格,您可以在其中搜索您想要的内容:
可以一次选择并打开多个文件.它还接受其他任意命令,例如跳转到某一行,字符串出现或任何其他Vim命令.
回复:https://github.com/kien/ctrlp.vim