如何显示omnicomplete的自动完成列表而不自动填充当前文本

时间:2013-04-14 06:22:31

标签: vim autocomplete text-editor omnicomplete

我正在学习omimomplete的vim。我想知道是否可以在没有自动填充当前文本的情况下显示omnicomplete列表。例如,

如果我输入“str.c”然后调用omnicomplete,它将显示一个包含以“c”开头的可能单词的列表,并自动完成当前文本,比如说“大写”。

enter image description here

例如,如果我正在寻找的方法是计数,我必须在列表中一直向下滚动才能找到它,或删除“apitalize”部分,然后键入o,等等。是否可以只显示列表,这样如果我在c之后调用它,它将显示列表而不自动完成以大写?例如下面的内容,我仍然可以输入o来快速计算

enter image description here

4 个答案:

答案 0 :(得分:13)

感谢@romainl评论,我查看了completeopt,我找到了答案Make Vim completion popup menu work just like in an IDE。它有一堆其他相关的提示。要按照问题中的描述进行行为,

:set completeopt=longest,menuone

答案 1 :(得分:1)

我认为最初的问题是noinsert选项中缺少completeopt

答案 2 :(得分:0)

您也可以坚持使用基本的vim功能,并在完成时使用C-e让vim删除列表并返回到您启动完成的位置。

答案 3 :(得分:0)

或者,您可以在<C-P>之后立即按<C-X><C-O>,以便在保持完成菜单打开的同时返回您输入的内容。

查看:h ins-completion-menu了解详情。