我正在学习omimomplete的vim。我想知道是否可以在没有自动填充当前文本的情况下显示omnicomplete列表。例如,
如果我输入“str.c”然后调用omnicomplete,它将显示一个包含以“c”开头的可能单词的列表,并自动完成当前文本,比如说“大写”。
例如,如果我正在寻找的方法是计数,我必须在列表中一直向下滚动才能找到它,或删除“apitalize”部分,然后键入o,等等。是否可以只显示列表,这样如果我在c之后调用它,它将显示列表而不自动完成以大写?例如下面的内容,我仍然可以输入o来快速计算
答案 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
了解详情。