26

是否可以通过文件名和文件内容在 NERDTree 窗口中进行搜索?

4

3 回答 3

38

你可以/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是我最喜欢的文件/缓冲区查找器插件,但在转向插件之前,您应该熟悉基础知识。

于 2012-11-10T11:14:16.247 回答
10

我最喜欢的 vim 插件之一中的Command-t ,它是基于 ruby​​ 的插件,上面与FZF 集成。

通过使用 Comamnd-T 和 FZF,您可以使用极快的“模糊”机制进行搜索:

  • 打开文件和缓冲区
  • 跳转到标签和帮助
  • 运行命令,或以前的搜索和命​​令
  • 用最少的击键次数。

如你看到的

在此处输入图像描述

我总是通过打开一个新终端来搜索命令历史并点击:

CTRL+R

除了通过在任何终端选项卡中写入递归搜索所有文件夹:

fzf

另外,你可以在里面写vim

:CommandT 

但是,我仍然在寻找一个强大的 vim 插件来搜索文件内容。特别是在大文件夹中。如果我找到一个,我会更新这个答案。

于 2018-01-24T15:39:29.190 回答
2

不直接回答问题,而是查看fzf.vim。它不仅提供文件搜索功能,而且速度极快。

于 2019-11-08T21:47:11.810 回答