是否可以通过文件名和文件内容在 NERDTree 窗口中进行搜索?
3 回答
你可以/foo
在任何其他普通的 Vim 窗口中做类似的事情,但你仅限于当前显示在 NERDTree 中的文本:你不能搜索未扩展的子目录或未列出的文件。
假设您位于项目的根目录,您可以执行以下操作foo
在整个项目的 JavaScript 文件中搜索单词:
:vim foo **/*.js | copen
如果“工作目录”( :pwd
) 不是您项目的根目录,则为以下内容:
:vim foo /path/to/project/**/* | copen
请注意使搜索递归的**
( )。:help starstar
如果要打开app/views/foobar.php
进行编辑,可以执行以下操作:
:e **/foo<tab>
嗯,有很多方法。
使用本机命令访问文件/缓冲区或跨项目搜索相对简单,但有很多第三方插件可以使其更快、更容易。Ctrl+P是我最喜欢的文件/缓冲区查找器插件,但在转向插件之前,您应该熟悉基础知识。
我最喜欢的 vim 插件之一中的Command-t ,它是基于 ruby 的插件,上面与FZF 集成。
通过使用 Comamnd-T 和 FZF,您可以使用极快的“模糊”机制进行搜索:
- 打开文件和缓冲区
- 跳转到标签和帮助
- 运行命令,或以前的搜索和命令
- 用最少的击键次数。
如你看到的
我总是通过打开一个新终端来搜索命令历史并点击:
CTRL+R
除了通过在任何终端选项卡中写入递归搜索所有文件夹:
fzf
另外,你可以在里面写vim
:CommandT
但是,我仍然在寻找一个强大的 vim 插件来搜索文件内容。特别是在大文件夹中。如果我找到一个,我会更新这个答案。
不直接回答问题,而是查看fzf.vim。它不仅提供文件搜索功能,而且速度极快。