vimforpython/3中的Omnicomplete可以完成函数名还是仅仅是方法?

2024-09-29 02:16:13 发布

您现在位置:Python中文网/ 问答频道 /正文

为了说明我的问题,下面是一个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或{}或类似的内容。这是正确的行为吗(Omnicomplete只对python/3执行方法完成)?如果是这样的话,上面最后一个例子中的函数完成是否可以作为代码段的一个例子?在

我在终端使用MacVim和tmux。我的:version说的是vim8.0。我有+python/dyn和{}功能。我的~/.vimrc有这样一行(在其他行中):

^{pr2}$

现在,我只编辑python3文件,所以我认为omnifunc=python3...是可以的。在

半相关SO post: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(             )

这个带有<C-x><C-o>的操作可以在不写入import builtins和使用builtins对象的情况下复制吗?如果<C-x><C-o>前面的字符串中没有.,那么<C-x><C-o>搜索会假定builtins.?在

我认真听取任何建议。在


Tags: andnameimport机器编辑示例withpython3