6

在 vim 中搜索我的 python 完成必杀技时,我真的很喜欢 <Cx> <Ci>:“当前和包含文件中的关键字”。这几乎总是让我从另一个完成的模块中得到一个长长的讨厌的名字,这很棒。

(全能完成在工作时显然更好,但它经常报告找不到任何匹配项。好吧,Python 不是 Java,我明白了)

这种多文件完成的唯一问题是它非常慢:在我的上网本上,每次我点击 <Cx> <Ci> 时,具有合理导入集的文件可能需要 4 或 5 秒来解析。每次我点击 <Cx> <Ci> 时似乎都会加载每个导入的文件。有没有办法缓存文件或加快这个过程?使用标签完成会更快吗?

4

1 回答 1

6

如果您正在处理具有多个源文件的项目,则此过程很可能需要一些时间(vim 需要解析所有包含的源文件以查找更多包含的源文件并构建单词列表。)您可以使用标记完成,它使用 ctags 的输出来做几乎相同的事情,但是您需要运行一些测试来判断速度差异。

我个人使用完全完成(<C-P><C-N>插入模式)。默认情况下,它匹配所有缓冲区中的所有单词(甚至是已卸载的缓冲区,即已关闭的文件),但速度非常快。我发现即使你在 2-3 个字符后激活它,完成仍然非常准确。

于 2009-10-01T08:27:13.530 回答