当输入Vim时,如何获得数组选项的自动建议?

2024-04-16 07:01:50 发布

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

enter image description here

假设我打字

a = [1, 2]

在vim中的一个.py文件中,当我键入“a.”并点击TAB时,我想得到和列表相关的建议菜单。在

编辑1回应罗宾的评论: 我认为这在vim中是可能的,因为有一个插件可以检查给定的python代码是否是有效的代码(我不知道该插件的名称)。看看:

enter image description here


Tags: 文件代码py名称插件编辑列表键入
2条回答

最近版本的vim附带了一个名为pythoncomplete的omnicomplete脚本。在

打开一个python文件,然后键入

:set completefunc?

检查当前完成函数是什么。如果你回来

^{pr2}$

则当前未设置completionfunction。您可以通过键入以下命令将pythoncomplete设置为完成函数

:set completefunc=pythoncomplete#Complete

您可以使用(在vimrc中)将其设置为python文件的默认值

autocmd FileType python set completefunc=pythoncomplete#Complete

现在,当您在vim中时,您可以使用omnicomplete使用Ctrl+XCtrl+O,您应该会得到一个弹出菜单,如下所示:

list completion

您还可以使用(在vimrc中)将其绑定到insert模式下的tab键:

inoremap <Tab> <C-x><C-o>

要了解有关与显示的下拉菜单交互的更多信息,请尝试

:help ins-completion

阅读许多关于将Vim设置为pythonide的博客文章之一。Here's one开始。特别是,您对OmniComplete函数感兴趣。在

默认情况下,这将绑定到按键Ctrl-xCtrl-o,但您可以将其重新绑定到tab键。在

注意,它对变量的类型不敏感。如果您键入以下内容,它可以为您完成:

string.<ctl-x><ctl-o>

您将获得字符串对象方法的列表。但如果你按照你在问题中描述的那样做,比如:

^{pr2}$

vim将不知道变量x包含一个字符串,并且无法提供方法列表。在

有关omnicomplete的信息:

:help omnifunc

相关问题 更多 >