微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Vim的Omnicompletion与Python只是不工作

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

>我有Vim 7.2编译与Python支持
> filetype plugin on在我的.vimrc。
>当.py文件打开时::echo& omnifunc prints pythoncomplete#Complete。
>我正在使用一个大项目,我有一个标签文件生成与exhuberant-ctags。它在Vim的ctags路径。我可以通过在符号上键入^]来测试它,然后我被带到符号的定义。
>更新1:我的项目的所有代码都在python-in-Vim的路径。我可以:python import myproject successfully。

现在,任何地方我尝试C-x C-o,我得到的是:

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

我究竟做错了什么?

更新2:当我在模块级别键入C-x C-o C-n时,Vim显示一个完成弹出窗口,其中包含我项目中其他模块的一些模块级常量。但它只是常量(符号大写字母),完成仍然不工作在其他地方。

更新3:我发现C-x C-o在文件的顶部开始某种形式的完成,并完成pprint。打开pprint模块中所有内容菜单快速参考。但是,我自己的模块的导入都没有完成。

更新4,一年后:我放弃和学习Emacs。我一直到黑暗的一面,神秘的土地的阴谋和香料,我对你说,我找到了路。

更新5,两年后:我回到Vim。 Emacs是美丽的,但即使经过1。5年的Emacs,我仍然更快在Vim完成工作。我现在已经停止编写Python,但不能测试这些建议是否有效。

什么模块包含您要完成的符号?是在python stdlib吗?还是它是第三方模块?

确保模块/软件包在PYTHONPATH中。

在Vim,do:

:python import sys
:python print sys.path

添加模块的目录:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐