1

complete()Vim の関数を使用して、各タブ ストップでカスタム補完を行うスニペットを作成したいと思います。これが私が達成したいことの簡単な例です。

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

スクリーンキャストEpisode 4: Python Interpolationに示されているように、オートコンプリートを実現する方法は他にもあるかもしれません。しかし、UltiSnips 内での Vim のオートコンプリートを見てみたいです。

これを達成する方法について誰かが提案してください。

4

1 に答える 1

1

残念ながら、Vim の設計により、これは今日のバニラ Vim+UltiSnips では実現できません。neovimが相互作用の問題を修正すれば、実行可能になるかもしれません。

https://github.com/SirVer/ultisnips/issues/428を参照してください。

于 2015-01-22T07:31:15.517 に答える