【问题标题】:Python omnicompletion in Vim editor not workingVim 编辑器中的 Python omnicompletion 不起作用
【发布时间】:2011-07-23 22:44:00
【问题描述】:

我正在尝试在我的 Python 之旅中使用 vim,基于 this guide

我想我和a paid nerd 有同样的问题,但由于他们没有找到解决方案,我再次在这里发布。

由于某种原因,我无法在 vim 中使用 python 完成操作。我已经安装了很棒的R-plugin 并建立了标签列表。所以我用 R 完成了。

但不适用于 Python。一些观察:

  1. :echo &omnifunc 打印 pythoncomplete#Complete
  2. .vim/doc/tags 文件有 R 标签,但没有 python(这是因为默认支持 python 对吧?)
  3. 如果我在我的.py 文件中执行import math,我可以自动完成例如。 mamath. 但没有找到方法?

我该如何继续?

【问题讨论】:

  • 那么,如果您vim a.pyimport mathmath.s^x^O 看不到sin(x) sinh(x) sqrt(x) 列表?
  • 天哪,我是个混蛋——是的,我愿意。显然,vim 中的omnicompletion 与 geany 中的工作方式不同?在 geany 中,所有内容 - 甚至 print 都包含在omnicompletion 中......实际上 - 用 geany 尝试这个似乎 geany 的自动完成是完全不同的东西。对不起,伙计们……我真的为此感到尴尬。
  • Eelvex - 你介意提供一个我可以接受的答案吗?这会给你一些分数,它会向全世界展示我的愚蠢:-)
  • 它仍然让我感到奇怪 - 似乎像 sorted 这样的默认内容无法自动完成。显然有些东西我不明白。例如,它似乎与 R-plugin 所做的不同

标签: python vim


【解决方案1】:

python (pythoncomplete#Complete) 的默认omnicompletion 似乎不了解构建/关键字。

当您 Ctrl-XCtrl-Omath.(如果您已导入“数学”)您应该看到可用的 math. 函数,但要做所以对于printsorted我认为你需要一个像这样的插件:

【讨论】:

  • 感谢那个人——还有指向 Pydiction 和 PySmell 的指针——会调查一下。
【解决方案2】:

检查 ~/.vim 目录,在 doc 目录中你应该有 NERD_tree.txt,所以你应该安装了 nerd tree 插件。 . .

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 我很确定,因为我只是在使用 vanilla python install 来学习 python。我自己还没有制作任何模块。在 vim 中:“python import sys”和“python print sys.path”打印路径。
    【解决方案4】:

    .vim/doc/tags 包含 Vim 文档的标签(包括 R 插件),这与用于完成的标签无关。您可以使用

    重新生成它们
    :helptags ~/.vim/doc
    

    在完成时,您使用哪个键盘快捷键?默认情况下,omni-complete 绑定到 Ctrl-X Ctrl-O,而不是通常的 Ctrl-N

    【讨论】:

    • 谢谢,我就是这么想的。是的 - 我使用 Ctrl-x Ctrl-o - 它适用于 R 文件。当我使用 ctrl-x Ctrl-o 时,我得到“-- Omni completion (^O^N^P) Pattern not found”
    【解决方案5】:

    有许多用于 python 补全的插件。 vim python filetype plugin 在这一点上似乎是最好的。它需要使用 python 支持构建的 vim,否则应该开箱即用。系统模块的完成将正常工作,您将在omnicompletion中使用它们的方法。

    【讨论】:

      猜你喜欢
      • 2011-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-10
      • 2011-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多