Vim :find command deadlock

标签 vim

当我使用 :find 命令后跟文件名的第一个字母,然后按 Tab 键(以自动完成)时,VIM 锁定,我必须关闭并重新开始。

例如,我写

:find nam

然后我点击了选项卡。 VIM 在后面写三个点:

:find nam...

然后停止工作。无限期。当我位于我正在处理的项目的根目录中时,就会发生这种情况。该目录有以下子文件夹:

.git/
.idea/
.sass-cache/
.tmp/
app/
node_modules/
phone/
test/

还有这些文件:

.bowerrc
.gitattributes
.gitignore
.jshintrc
Gruntfile.js
Readme.md
bower.json
karma.conf.js
npm-debug.log
package.json
todo.txt

如果我 cd 到应用程序目录并尝试相同的命令,当我点击选项卡时,自动完成功能会完美运行。

我在 Windows 上运行 VIM。我已在 _vimrc 文件上将路径变量设置为 .,,** (set path=.,,**)。

那么,有人知道发生了什么吗?谢谢。

最佳答案

AFAIK,:find 使用了浪费的深度优先策略,使其在进入每个目录和每个子目录之前下一个同级目录。

早期版本的 npm 因 node_module 目录结构的潜在深度而臭名昭著,因此您的 node_modules 目录很可能在这里充当陷阱。

由于您可能不想编辑 node_modules 中的任何内容,我建议您将其添加到 wildignore 选项中:

set wildignore+=*/node_modules/*

此外,set path=.,,** 中的 ** 意味着 ,,,因此您可以将该值简化为 .,**.

关于 Vim :find command deadlock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37637815/

相关文章:

VIM 的 JavaScript 实现

在 Windows 上用 C.vim 编译?

ruby-on-rails - rails.vim 支持 .less css 文件的语法高亮吗?

haskell - 配置vim为haskell文件添加模块声明

function - vim 在计算匹配时保持光标位置

python - Vim : "YouCompleteMe unavailable: This package should not be accessible on Python 3" 错误

vim - 在Vim中有条件替换

macos - 从 Mac SSH 到 Ubuntu 服务器时 Vim Solarized 颜色错误

搜索标签

vim - 在 VIM 中重新打开上次 session 的缓冲区的替代方法?