我在Stack Overflow和其他地方搜索了一个小时.唉! 请帮忙.Vim的omnicompletion 不起作用.
我有使用Python支持编译的Vim 7.2.
filetype plugin on在我的.vimrc.
当.py文件打开时,:echo &omnifunc打印pythoncomplete#Complete.
我正在处理一个大型项目,并且我tags生成了一个文件exhuberant-ctags.这是在Vim的ctags路上.我可以通过^]在符号上键入来测试它然后我接受符号的定义.
更新1:我项目的所有代码都在python-in-Vim的路径中.我能:python import myproject成功.
现在,在我尝试的任何地方C-x C-o,我得到的只是:
-- Omni completion (^O^N^P) Pattern not found
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
更新2:当我C-x C-o C-n在模块级别键入时,Vim会显示一个完成弹出窗口,其中包含项目中其他模块的一些模块级常量.但它只是常量(符号大写字母),完成仍然无法在其他任何地方工作.
更新3:我发现C-x C-o在文件的顶部开始某种omnicompletion,并完成提示pprint.菜单和pprint模块中的所有内容的快速参考.但是,我自己的模块的导入都没有完成.
一年后更新4:我放弃并学习了Emacs.我去过黑暗的一面,神秘的阴谋和香料之地,我告诉你我找到了The Way.
两年后更新5:我回到了Vim.Emacs很漂亮,但即使经过1.5年的Emacs,我仍然可以更快地完成Vim的工作.但是,我现在已经停止编写Python了,并且无法测试这些建议的效果如何.