Vim 如何搜索路径=、**和:find的隐藏目录/文件?

Vim 如何搜索路径=、**和:find的隐藏目录/文件?,vim,Vim,我一直在使用vim快速查找(隐藏和非隐藏)文件。我发现也可以设置 path=.,** 使用:查找一些文件,除了模糊搜索外,实现几乎相同的功能。因为我很少使用模糊搜索,而且更喜欢使用尽可能少的插件(尽管仍然有很多),所以我正在考虑放弃fzf.vim并完全切换到path/:find方法 也就是说,我在这里缺少一个重要的特征。据我所知,path不包括隐藏目录。例如,给定以下目录结构 ~/testdir ❯ tree -a . |-- .hidden-folder | |-- some-hidde

我一直在使用vim快速查找(隐藏和非隐藏)文件。我发现也可以设置

path=.,**
使用
:查找一些文件
,除了模糊搜索外,实现几乎相同的功能。因为我很少使用模糊搜索,而且更喜欢使用尽可能少的插件(尽管仍然有很多),所以我正在考虑放弃fzf.vim并完全切换到path/:find方法

也就是说,我在这里缺少一个重要的特征。据我所知,
path
不包括隐藏目录。例如,给定以下目录结构

~/testdir
❯ tree -a
.
|-- .hidden-folder
|   |-- some-hidden-file
|   `-- some1-hidden
|       `-- some2-hidden
|           `-- deeply-hidden-file
|-- some-file
`-- some-folder
    `-- some1
        `-- some2
            `-- deep-file

6 directories, 4 files
打开
vim some file
:find deep hidden
找不到该文件。我假设这是因为它位于
隐藏文件夹中,因为找到了
:find deep file


是否有办法将
**
设置为包含隐藏文件夹?也许还可以告诉vim使用特定的命令进行搜索,这样我就可以将其配置为包含隐藏的文件/文件夹。

用于搜索文件的内置例程使用“深度优先搜索”算法,这使得它在许多情况下效率很低<代码>设置路径=,**
可能因此有点过度,因为它将迫使Vim在切换到下一个目录之前查看每个子目录。它在某些情况下可能会起作用(正如我在您链接到的答案中强调的那样),但您应该知道,
'path'
旨在作为特定目录的列表,并且在其中包含
**
,这有点违背了它的观点。使
:查找
遍历隐藏目录的“正确”方法是将它们添加到
“路径”

set path+=.some_dir
set path+=.some_other_dir
虽然这肯定是对当前情况的一种改进,但用“更好”的算法取代当前的算法(比如
)只能在Vim的C源代码中完成,因为Vim没有公开
'filesearchprg'
选项或类似选项,很遗憾。

我明白了。也许将fzf.vim与一起使用仍然是一条路要走。(感谢您通过提及迭代深化深度优先搜索提供更多背景。)