如何接受Vim YouCompleteMe插件的建议

22

当 Vim 插件 YouCompleteMe 给出多个完整的建议时,我如何接受我想要的建议?

我目前所做的是按下 Esc 键,我想知道我是否正确。


真是太奇怪了,我们居然要问这个问题。你会觉得这应该是文档中首先列出的事项,但实际上并没有。 - undefined
4个回答

32

要接受当前插入完成条目,请使用 <c-y>。把它想象成是“是”。

了解更多帮助,请参见:

:h complete_ctrl-y

12
通常使用 Ctrl + Y(是);阅读 :help popupmenu-keys

11

Ctrl-Y是默认的按键绑定,但是您可以通过在.vimrc中添加以下内容来添加其他按键绑定:

let g:ycm_key_list_stop_completion = ['<C-y>', '<CR>']

在此示例中,您可以使用Ctrl-YEnter来接受自动完成并释放光标。


-6
由于某些原因,我认为您并没有真正阅读文档和/或自述文件:

当用户看到一个有用的完成字符串被提供时,他们按下 TAB 键来接受它。这将插入完成字符串。重复按下 TAB 键会循环浏览提供的完成。


2
我看到了这个内容,它说“按TAB键可以循环浏览提供的自动补全选项”,但没有说明如果有多个选项该如何选择其中一个。 - Ask and Learn
如果您想要第三个建议,您需要按两次Tab键:所需的单词将被插入,因此您只需继续输入即可。 - romainl
2
@romainl 但是如果我在单词完成时刚好打完字呢?我的做法是按下Esc键,这样建议就消失了。取而代之的是我输入的字母。有没有一种正确的方式来接受建议并离开插入模式,而不仅仅是按下Esc键?或者说,是否也可以用Esc键接受该单词? - Hermes
实际上,使用 TABSHIFT+TAB 在建议之间遍历并释放和继续编码是一个不错的解决方案。太棒了,谢谢。我给你点赞了。 - AmerllicA

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