在Vim中更快地完成多文件关键字?

在Vim中更快地完成多文件关键字?,vim,autocomplete,code-completion,tab-completion,completion,Vim,Autocomplete,Code Completion,Tab Completion,Completion,在vim中搜索我的python completion nirvana时,我真的爱上了:“当前文件和包含文件中的关键字”。这几乎总是让我从完成的另一个模块中得到一个长而讨厌的名字,这很好 (Omni completion在工作时显然更好,但它经常报告找不到任何匹配项。好吧,我知道Python不是Java) 这种多文件完成的唯一问题是速度非常慢:在我的上网本上,每次点击时,一个具有合理导入集的文件可能需要4到5秒的时间来解析。似乎每次我点击时都会加载每个导入的文件。有没有办法缓存文件或加快此过程?使

在vim中搜索我的python completion nirvana时,我真的爱上了:“当前文件和包含文件中的关键字”。这几乎总是让我从完成的另一个模块中得到一个长而讨厌的名字,这很好

(Omni completion在工作时显然更好,但它经常报告找不到任何匹配项。好吧,我知道Python不是Java)


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

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


我个人使用完全补全(
或插入模式下的
)默认情况下,它匹配所有缓冲区中的所有字(即使是已卸载的缓冲区,即已关闭的文件),但速度非常快。尽管如此,我还是发现补全非常准确,即使在2-3个字符后激活它。

难怪我对默认值感到恼火。。。我有一个插件,它将C-N从complete映射到omni completion。这正是我所需要的。