vim中的python omnicompletion无法正常工作

时间:2011-03-27 15:50:40

标签: python vim

我试图在我的python旅程中使用vim,基于this guide

我认为我遇到与a paid nerd相同的问题,但由于他没有找到解决方案,我将在此处再次发布。

出于某种原因,我无法使用python在vim中使用omnicompletion。我安装了fabolous R-plugin并构建了标签列表。所以我对R进行了无所不知。

但不适用于python。一些观察结果:

  1. :echo &omnifunc打印pythoncomplete#Complete
  2. .vim/doc/tags文件有R标签,但没有python(但这是因为默认支持python吗?)
  3. 如果我在import math文件中.py,我可以自动完成例如。 mamath.,但找不到方法?
  4. 所以 - 总之,我真的受到了保护: - / - 并且如果有人可以提供帮助......

5 个答案:

答案 0 :(得分:6)

似乎python(pythoncomplete#Complete)的默认omnicompletion不知道buildins / keywords。

当您在math. Ctrl-X Ctrl-O 时(如果您已导入“数学”),您应该看到可用的math.功能但是要对printsorted等执行此操作我认为您需要一个插件,如:

答案 1 :(得分:0)

我假设您导入的所有模块都在Python路径中,对吧?检查此文件中的所有导入是否都有效,在我的情况下,导入失败(导入模块中的语法错误)打破了omnicompletion。

答案 2 :(得分:0)

检查〜/ .vim目录,在doc目录下你应该有NERD_tree.txt,所以你应该安装nerd树插件。 。

答案 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中使用它们的方法。

相关问题