首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用path=.、**和:查找搜索隐藏的目录/文件?

如何使用path=.、**和:查找搜索隐藏的目录/文件?
EN

Stack Overflow用户
提问于 2018-10-06 10:05:21
回答 1查看 2.4K关注 0票数 4

我一直在使用琼冈/vzf.vim在vim中快速查找(隐藏和非隐藏)文件。我刚找到指出也有可能设置

代码语言:javascript
复制
path=.,**

并且使用:find some-file实现了除模糊搜索之外的几乎相同的功能。由于我很少使用模糊搜索,并且更喜欢使用尽可能小的插件(尽管如此),我正在考虑放弃fzf.vim并完全切换到path/:find-方法。

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

代码语言:javascript
复制
~/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 deeply-hidden就找不到文件了。我认为这是因为它在.hidden-folder中,因为:find deep-file被找到了。

有什么方法可以让**也包括隐藏文件夹吗?也许还可以告诉vim使用一个特定的命令进行搜索,所以我可以将它配置为包含隐藏的文件/文件夹。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-06 11:17:04

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

代码语言:javascript
复制
set path+=.some_dir
set path+=.some_other_dir

虽然这肯定会比目前的情况有所改进,但是用“更好”的算法(比如迭代深化深度优先搜索)代替当前的算法只能在Vim的C源代码中完成,因为Vim没有公开'filesearchprg'选项或类似的选项,不幸的是。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52677909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档