1

単語の後に(snipMateを使用して)スニペットをスペースなしで使用しようとすると、機能しません。したがって、スペースを押し、スニペットを入力し、タブを押してから、スペースを削除する必要があります。これを行うためのより良い方法はありますか?単語の直後でもスニペットを機能させる方法はありますか?これが私が意味することです:

私のスニペットはこれだとしましょう:

snippet test
        <some code>${1}</code>${2}

典型的な使用法:

hello test[TAB]

これに変わります:

hello <some code>|</code>

しかし、私がこれを試してみると:

hellotest[TAB]

これに変わります:

hellotest_____

_は空白です。これを修正する方法はありますか?

4

2 に答える 2

2

Vimの略語には3つのタイプ(full-id、end-id、non-id、cp。:help abbreviations)があり、この問題の解決に役立ちます。ただし、snipMateでは、スニペット名に空白以外のすべての文字を使用できるため、分離には空白を使用する必要があります。

スニペット名の解析を変更する必要があります。でplugin/snipMate.vim、それは関数内にありますTriggerSnippet()

let word = matchstr(getline('.'), '\S\+\%'.col('.').'c')
于 2012-10-11T07:38:57.837 に答える
0

それがあなたが求めるものであるならば、その効果への設定はありません。ソースを見て、そこで自分で変更を行う必要があります。恐れ入ります。

また、それはおそらく制限と見なすことができますが、それは明らかにバグではないので、あなたが求めているのは「修正」ではなく改善です。ただし、私のアドバイスは、設計どおりに使用することです。トリガーを別の単語の一部であっても機能させることは、まったく意味がありません。スペースは、アイデアと単語を分離する最も自然な方法です。

于 2012-10-11T05:44:33.430 に答える