2

私はこれらのスニペットでvim-snipmateアドオンを使用しています。

現在、Arduinoのスニペットファイルを作成中です。私は、c言語のすべてのスニペットがArduinoにも適していることに気づきました。

それらをコピーして貼り付けるのではなく、cファイル全体を含めてから、Arduino固有の部分を追加することを考えています。

だから私の質問は、他のファイルからのスニペットをあなたのスニペットファイルに含めることは可能ですか?

4

5 に答える 5

3

(snipmateプラグインのドキュメントを検索した後、この質問に対する答えを見つけました)

スニペットファイルを別のスニペットファイルに含めることはできませんが、特定のファイルタイプに対して複数のスニペットを含めることはできます。.vimrcで次のように宣言しましたが、機能します。

" Add c snippets to Arduino
let g:snipMate = {}
let g:snipMate.scope_aliases = {} 
let g:snipMate.scope_aliases['arduino'] = 'arduino,c'

私が作成したarduinoスニペットでこれを使用しています。

于 2012-07-01T07:32:45.833 に答える
2

@Sudar:あなたのアプローチは良いですが、後で別の設定や言語がある場合は必要ありません。vimrcは肥大化します。

arduino.snippetssnipmateで作成してから:set ft=c.arduino。Snipmateは、ファイルタイプに基づいてスニペットを識別します

于 2012-07-01T09:39:00.073 に答える
1

あなたは特にsnipmateについて質問したので、これはやや外れたかもしれませんが、とにかく:snipmateに非常に似ている(いくつかの追加機能を備えた)UltiSnipsと呼ばれるプラグインもあります。UltiSnipsのスニペットファイルでは、要求したとおりに実行するextendsステートメントを使用できます。

于 2012-07-01T09:58:48.660 に答える
0

いいえ。これらのスニペットをarduino.snippetsファイルにヤンク/貼り付ける必要があります。

于 2012-07-01T06:31:51.467 に答える
0

$VIMRUNTIME/after/plugin/snipMate.vimファイルに以下を追加します。

call ExtractSnipsFile(g:snippets_dir.'arduino.snippets', 'c')

これにより、ファイルが解析さarduino.snippetsれ、ファイルタイプが初期化されます.c

基本的には、そのファイルからスニペットをロードし、それらを指定されたファイルタイプ(ケースcファイル)に追加するだけです。

使用に関するヘルプについては、GitHubのDocファイルExtractSnipsFileを参照または参照してください:help ExtractSnipsFile

2018.03.14を編集

を使用して、同じファイルタイプの複数のスニペットファイルをロードすることができますUltiSnipsAddFiletypes。たとえば、ファイルの.c編集時にスニペットをロードする場合.arduinoは、次の行を次の行に追加するだけですftplugins/arduino.vim UltiSnipsAddFiletypes arduino.c

于 2013-04-17T09:22:35.297 に答える