【发布时间】:2017-05-25 12:51:00
【问题描述】:
为了说明我的问题,这里有一个 Omnicomplete 如何在我的机器上运行的简单示例:
name = "Bob"
na<C-x><C-o> gives-----> name
name.<C-x><C-o> gives-----> (correct dropdown menu of methods for string)
prin<C-x><C-o> gives-----> (-- Omni completion (^O^N^P) Pattern not found)
我期待最后一行扩展到 print 或 print( 或类似的东西。这是正确的行为吗(Omnicomplete 仅对 python/3 进行方法完成)?如果是这样,上述最后一种情况下的函数完成是否可以作为 sn-ps 的示例?
我在带有 tmux 的终端中使用 MacVim。我的 :version 说 VIM 8.0。我有+python/dyn 和+python3/dyn 功能。我的~/.vimrc 有这一行(除其他外):
autocmd FileType python set omnifunc=python3complete#Complete
目前,我只是在编辑 python3 文件,所以我认为 omnifunc=python3... 还可以。
半相关的 SO 帖子:Problem with Vim omnicomplete and system Python
编辑:我可能有一个解决方法,虽然我不知道如何实现它。
注意:
import builtins
builtins.pr<C-x><C-o> gives-----> (dropdown menu with print() and property() )
builtins.pri<C-x><C-o> gives-----> (autocompletes to builtins.print( )
可以在不写入import builtins 和使用builtins 对象的情况下复制<C-x><C-o> 的此操作吗?如果<C-x><C-o> 前面的字符串中没有.,那么<C-x><C-o> 搜索可能会假定builtins.?
我愿意接受任何建议。
【问题讨论】:
标签: python vim autocomplete macvim omnicomplete