我试图在我的python旅程中使用vim,基于this guide
我认为我遇到与a paid nerd相同的问题,但由于他没有找到解决方案,我将在此处再次发布。
出于某种原因,我无法使用python在vim中使用omnicompletion。我安装了fabolous R-plugin并构建了标签列表。所以我对R进行了无所不知。
但不适用于python。一些观察结果:
:echo &omnifunc
打印pythoncomplete#Complete
。.vim/doc/tags
文件有R标签,但没有python(但这是因为默认支持python吗?)import math
文件中.py
,我可以自动完成例如。 ma
到math.
,但找不到方法? 所以 - 总之,我真的受到了保护: - / - 并且如果有人可以提供帮助......
答案 0 :(得分:6)
似乎python(pythoncomplete#Complete
)的默认omnicompletion不知道buildins / keywords。
当您在math.
上 Ctrl-X Ctrl-O 时(如果您已导入“数学”),您应该看到可用的math.
功能但是要对print
,sorted
等执行此操作我认为您需要一个插件,如:
答案 1 :(得分:0)
我假设您导入的所有模块都在Python路径中,对吧?检查此文件中的所有导入是否都有效,在我的情况下,导入失败(导入模块中的语法错误)打破了omnicompletion。
答案 2 :(得分:0)
答案 3 :(得分:0)
.vim/doc/tags
包含Vim文档的标签(包括R插件),这与用于完成的标签无关。您可以使用
:helptags ~/.vim/doc
说到完成,您使用哪种键盘快捷键?默认情况下,omni-complete绑定到Ctrl-X Ctrl-O
,而不是通常的Ctrl-N
。
答案 4 :(得分:0)
有许多用于python完成的插件。 vim python filetype plugin似乎是最好的。它需要一个使用python支持构建的vim,否则应该开箱即用。系统模块的完成将起作用,你将在omnicompletion中使用它们的方法。