问题描述
|
假设我输入
a = [1,2]
在vim中的.py文件中,当我键入\“ a。\”并单击TAB时,我想获取与列表相关的建议菜单。
编辑1以回应Robin的评论:
我认为这在vim中是可能的,因为有一个插件可以检查给定的python代码是否为有效代码(我不知道该插件叫什么)。看一看:
解决方法
vim的最新版本带有一个称为pythoncomplete的全能脚本。
打开一个python文件,然后输入
:set completefunc?
检查当前的完成功能是什么。如果你回来
completefunc=
则当前未设置完成功能。您可以通过键入以下命令将pythoncomplete设置为完成功能
:set completefunc=pythoncomplete#Complete
您可以使用(在vimrc中)将其设置为python文件的默认值
autocmd FileType python set completefunc=pythoncomplete#Complete
现在,当您进入vim时,可以使用Ctrl + X Ctrl + O来使用omnicomplete,您应该会看到一个弹出菜单,如下所示:
您也可以在插入模式下使用(在vimrc中)将其绑定到tab键:
inoremap <Tab> <C-x><C-o>
要了解有关与出现的下拉菜单进行交互的更多信息,请尝试
:help ins-completion
, 阅读有关将Vim设置为Python IDE的众多博客文章之一。这是一个入门的方法。特别是,您对OmniComplete函数感兴趣。
默认情况下,此键绑定到Ctrl-xCtrl-o键,但是您可以将其重新绑定到Tab键。
请注意,它对变量的类型不敏感。如果您输入以下内容,它可以为您完成:
string.<ctl-x><ctl-o>
您将获得字符串对象方法的列表。但是,如果您按照问题中的描述进行操作,则可能会出现以下情况:
x = \"a string\"
x.<ctl-x><ctl-o>
vim不会知道变量ѭ9包含一个字符串,因此将无法提供方法列表。
有关全能的信息:
:help omnifunc