gpt4 book ai didi

python - Vim 的 Python Omnicompletion 不起作用

转载 作者:IT老高 更新时间:2023-10-28 20:30:02 25 4
gpt4 key购买 nike

我已经在 Stack Overflow 和其他地方搜索了一个小时。唉!请帮忙。 Vim 的omnicompletion 只是不起作用

  1. 我已经编译了支持 Python 的 Vim 7.2。

  2. filetype plugin on 在我的 .vimrc 中。

  3. .py 文件打开时,:echo &omnifunc 打印 pythoncomplete#Complete

  4. 我正在处理一个大型项目,并且我有一个使用 exhuberant-ctags 生成的 tags 文件。它在 Vim 的 ctags 路径中。我可以通过在符号上键入 ^] 来测试它,然后我会转到符号的定义。

  5. 更新 1: 我所有项目的代码都在 python-in-Vim 的路径中。我可以:python import myproject成功了。

现在,无论我尝试 C-x C-o,我得到的都是:

-- Omni completion (^O^N^P) Pattern not found

我做错了什么?

更新 2: 当我在模块级键入 C-x C-o C-n 时,Vim 会显示一个完成弹出窗口,其中包含来 self 项目中其他模块的一些模块级常量.但它只是常量(符号大写字母),并且在其他任何地方都无法完成。

更新 3: 我发现文件顶部的 C-x C-o 开始了某种全补全功能,并为 pprint 补全。 调出 pprint 模块中所有内容的菜单和快速引用。但是,我自己的模块的导入都没有完成。

一年后更新 4: 我放弃并学习了 Emacs。我去过黑暗的一面,那是充满阴谋和香料的神秘之地,我告诉你我找到了道路。

两年后更新 5: 我又回到了 Vim。 Emacs 很漂亮,但即使在使用 Emacs 1.5 年后,我在 Vim 中完成工作的速度仍然更快。不过,我现在已经停止编写 Python,并且无法测试这些建议的效果如何。

最佳答案

哪个模块包含您要完成的符号?它在 python 标准库中吗?还是第三方模块?

确保模块/包在 PYTHONPATH 中。

在 Vim 中,执行:

:python import sys
:python print sys.path

添加模块目录:

:python sys.path.append("/path/to/directory/")

关于python - Vim 的 Python Omnicompletion 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2084875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com