1

我想使用 Vim 的complete()功能创建在每个制表位执行自定义完成的片段。这是我想要实现的一个简单示例。

snippet date "Date snippet"
   day of month: ${1:`!v complete(col('.'), [1, 2, 3, 4])`}
   month: ${2:`!v complete(col('.'), ['Jan', 'Feb', 'March'])`}
   year: ${3:`!v complete(col('.'), ['2012', '2013', '2014', '2015'])`}
endsnippet

在第一个制表位,我想看到 Vim 的带有[1, 2, 3, 4]项目的自动完成菜单。对于其他制表位也是如此。但是,当我实际运行此代码段时,我得到以下输出

day of month: Jan0an0
month: 201200120
year:100

可能还有其他方法可以实现自动完成,如屏幕截图第 4 集:Python 插值中所示。但是,我很想在 UltiSnips 中看到 Vim 的自动完成功能。

请任何人就如何实现这一目标提出建议。

4

1 回答 1

1

不幸的是,由于 Vim 的设计,这在今天的普通 Vim+UltiSnips 中无法实现。一旦 neovim 修复了交互问题,它可能是可行的。

https://github.com/SirVer/ultisnips/issues/428

于 2015-01-22T07:31:15.517 回答