Vim自动补全:取消自动完成弹出窗口

18

如果我在vim中按下ctrl+n,会弹出一个建议自动完成选项的弹出框。

这很好……但是如果我决定不想使用自动完成,我不太确定该按什么来撤销自动完成的建议。

例如,假设我输入了rea,按下ctrl+n,自动完成弹出并显示really_long_method_name_damn_this_is_annoying……而我不想要那个。我无法弄清如何将语法恢复为rea……我必须手动删除不想要的字符。

我猜这是一个相当简单的事情,但是——如果有人知道怎么做,请告诉我。


哈,对于一个好问题和更好的方法名字都加一分 :) - RocketDonkey
4个回答

40

Ctrl+E将结束当前的自动补全并恢复最初键入的文本。

查看

:h complete_CTRL-E
:h ins-completion

1

尝试按下Ctrl+P返回原始页面(或者如果你感觉有冲动,可以按Ctrl+N一直循环回来 :) )。


嗯,如果我按下 CTRL-N n 次,那么我就必须按下 CTRL-P n+1 次才能回到原来的状态... - cychoi

1

按下Ctrl+P,然后再按Esc。前者将删除自动完成的文本,后者将关闭弹出窗口。


3
它还有插入模式。 - ideasman42
这个答案假设弹出窗口中只有一个建议。否则,您需要按Ctrl + P与建议的数量一样多,这很麻烦。 Ctrl + E才是正确的答案。 - Yordan Grigorov
直到今天,这就是我所做的,最终在这个问题上寻求了拯救,并发现了Peter Rincker在CTRL+P上的提示...哦我的天啊,所有这些失落的年份xD - eMPee584

1

输入:help ins-completion-menu以获取有关所有选项的详细说明。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接