如何修复 Vim 中对象实例缺少 Python 自动完成功能?
当我尝试对对象使用自动完成功能时,我发现 Vim 中有一个奇怪的行为。如果我在模块级别实例化对象,Vim 自动完成功能将在我创建的实例上运行:
如果我在函数或类中尝试相同的操作,它不再工作:
有谁知道如何解决这个问题,或者有没有办法让omnicompletion在非模块范围内的实例上工作?
I have found a strange behavior in Vim when I attempt to use autocompletion on objects. If I instantiate the objects on a module level, the Vim autocompletion will work on the instance I create:
If I try the same from within a function or class, it is no longer working:
Does anyone know how to fix this, or is there a way to get omnicompletion to work on instances in a non module-scope?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
即使它不使用Vim的omnicompletion插件,通过使用rope,ropemode和ropevim,也可以在方法中获得自动完成:
尽管不完全是我想要的,但它效果很好。
我让它像这样工作:
我从 此处 安装了 rodvim 发行版,并将以下几行添加到我的
.vimrc< /code> 文件:
现在按 Ctrl+Space 将弹出绳索补全菜单。
Even though it does not use Vim’s omnicompletion plugin, by using rope, ropemode and ropevim it is possible to get autocompletion in methods:
Even though not really exactly what I wanted it works pretty well.
I got it working like so:
I installed the ropevim distribution from here and added the following lines to my
.vimrc
file:Now pressing Ctrl+Space will bring up the rope completion menu.
我必须使用以下行才能使 ctrl+space 正常工作
I had to use the following line to get ctrl+space working
扩展@BergmannF 答案。如果您不希望
绳索完成
选择第一个条目,只需将
(转到上一个条目 -> 无条目)附加到imap 命令:
Expanding the @BergmannF answer. If you don't want the
rope's completion
to select the first entry just append<C-P>
(go to previous entry -> no entry) to theimap
command: