gpt4 book ai didi

vim - 如何在 YouCompleteMe 弹出菜单中使用 扩展 UltiSnips 片段?

转载 作者:行者123 更新时间:2023-12-05 07:15:08 24 4
gpt4 key购买 nike

这个问题真的让我很头疼。我有两个 YouCompleteMeUltiSnips安装在我的 vim 8.0 编辑器上。似乎这两个插件都使用 tab 键进行自动完成,这造成了不兼容问题,this question. 也解决了这个问题。不过,我的问题更具体。当我写一段代码时 <html ,有一个弹出菜单向我显示该代码的所有相关片段。

YCM pop-up menu for UltiSnips snippets

我使用 tab 键在该菜单中导航,但是当我按 ctrl+y 接受并因此展开这些片段之一时,没有任何反应!我认为这种结构表明可以以某种方式从菜单中选择其中一个片段,而无需尝试为 UltiSnip 定义快捷方式。我究竟做错了什么?我应该如何导航和选择这些片段?

我也不想用任何新插件(如 supertab 等)填充我的 vim。

最佳答案

该解决方案实际上比我预期的要简单得多。一开始,我因为不知道而感到愚蠢,但是当我发现类似的问题时 this one ,我想可能很多人都落入了同样的陷阱。

我不知道是否将其命名为错误,但这就是 Ultisnips 和 YouCompleteMe 协同工作的方式。为了扩展一个代码片段,您必须完全按照它的定义来编写初始化程序。当然,这看起来很明显,但是当您看到一个包含不同代码片段的弹出菜单时,您可能认为它们可以被选中,但它仅在您已经完全按照定义编写代码段初始值设定项时才有效。

因此,当一个片段被称为“html5”时——正如我的问题中所示——写一个额外的左括号 (<) 将导致它停止工作。无法展开。

UltiSnips the correct way to expand a snippet from the pop-up menu

UltiSnips the wrong way to expand a snippet from the pop-up menu


另外,不要忘记查看 Siegfried Gevatter配置。无法同时使用 tab 键导航到弹出菜单和展开代码段。

P.S. 如果通过弹出菜单导航可以更改整个单词(包括尖括号),而不仅仅是它后面的内容,那就太好了。这个功能在我见过的大多数其他编辑器中都是这样工作的,这可能就是我一开始没能发现问题的原因。

关于vim - 如何在 YouCompleteMe 弹出菜单中使用 <c-y> 扩展 UltiSnips 片段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59685512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com