这个问题确实触动了我的神经。我两个都有你使我完整 https://github.com/ycm-core/YouCompleteMe and 多功能剪 https://github.com/sirver/ultisnips安装在我的 vim 8.0 编辑器上。看来这两个插件都使用了tab进行自动完成的关键,这造成了不兼容性,该问题也已解决这个问题。 https://stackoverflow.com/questions/14896327/ultisnips-and-youcompleteme不过,我的问题更具体。当我写一段代码时<html
,有一个弹出菜单,显示该代码的所有相关片段。
我用tab键来浏览该菜单,但是当我点击ctrl+y接受并因此扩展这些片段之一,什么也没有发生!我认为这种结构表明可以以某种方式从菜单中选择这些片段之一,而无需尝试为 UltiSnip 定义快捷方式。我究竟做错了什么?我应该如何导航和选择这些片段?
我也不想在我的 vim 中添加任何新插件(如 supertab 等)。
解决方案实际上比我想象的要简单得多。一开始,我因为不知道而感到愚蠢,但是当我发现类似的问题时,我想可能很多人都陷入了同样的陷阱。
我不知道是否应该将其命名为错误,但这就是 Ultisnips 和 YouCompleteMe 协同工作的方式。为了扩展代码片段,您必须编写初始化程序完全按照它的定义。当然,这看起来很明显,但是当您看到不同片段的弹出菜单时,您可能会认为可以选择它们,但只有当您已经完全按照定义编写了片段初始值设定项时,它才有效。
因此,当一个片段被称为“html5”时(如我的问题所示),编写一个额外的左括号(
Also, don't forget to check out
Siegfried Gevatter https://stackoverflow.com/a/22253548/10437539 configuration. It's not possible to use
tab key both for navigating into the pop-up menu and expanding the snippets.
P.S.如果浏览弹出菜单可以更改整个单词(包括尖括号),而不仅仅是它后面的单词,那就太好了。这个功能在我看到的大多数其他编辑器中都是这样工作的,这可能就是为什么我一开始就无法发现问题的原因。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)