1

vim-snipmate を使用すると、次の問題があります。スニペット内でスニペットを展開しようとすると、snipmate は新しいスニペットを展開する代わりに、現在のスニペットの次のプレースホルダーに移動します。

tab例:次の状況でを押した場合:

for (i = 0; i < 10; i++) {
    ifi<press tab here>
}

私は期待します:

for (i = 0; i < 10; i++) {
    if (<cursor position>) ;
}

しかし、私が得るのは次のとおりです。

for (i = 0; i < 10; i++) {
    ifi
}<cursor position>

スニペット内でスニペットを展開する方法、または少なくとも次のプレースホルダーへの移動を抑制する方法はありますか?

よろしくお願いします

4

2 に答える 2

2

元のsnipMateは、再帰的なスニペット展開をサポートしていませんでした。どうやら、フォークもそうではありません。プロジェクトの問題トラッカーでそのようなサポートを求めても問題ありません。

最新の代替手段 (ただし Python が必要) はUltiSnipsです。私の知る限り、これはスニペット内のスニペットをサポートしています。

于 2014-04-14T14:11:19.937 に答える
1

lh-cppmu-templateは、スニペット内のスニペットをサポートし、スニペットを展開するスニペットもサポートします (たとえばswitch、スニペットはスニペットに依存しcaseます)。

ただし、スニペットの構文は、snipMate および consorts のものとは何の関係もありません。また、使用されるプレースホルダー システムは昔ながらのものです。

于 2014-04-14T15:46:16.897 に答える