10

snipmate + vim を使用する場合、特定の言語/ファイルタイプに対して多数のスニペット ファイルをロードできますか?

例: snipmate が付属してjavascript.snippets います。mootools スニペットもロードして、これを vimrc に追加しました。 autocmd FileType javascript set ft=javascript.mootools

今、私は使用することができます

  • ストック js スニペット
  • mootools スニペット

javascript.myCustomSnippetsfiletypeにロードされる 3 番目のスニペット セット を追加したいと思いjavascriptます。

このようなものを使用してカスタム スニペットを追加しようとすると autocmd FileType javascript set ft=javascript.myCustomSnippets 、mootools スニペットが上書き/無効化されますが、デフォルトの JavaScript スニペットは引き続き機能します。

どうすればこれを達成できますか、それとも可能ですか?

ps: スニペットをデフォルトの JavaScript スニペット ファイルに追加するだけでよいことはわかっていますが、snipmate github リポジトリを.vim/bundle/フォルダー内で同期しているため、個人的なものをライブ リポジトリとは別に保持したいと考えています。

私の解決策

最終的にファイルを並べて動作させる具体的な解決策は、ファイルを次のように構成することでした(ちなみに、私はディレクトリを自動ロードするために病原体bundleを使用しています)

~/.vim/bundles/
    snipmate.vim/snippets/javascript.snippet
    vim-snippets.mootools/snippets/mootools.snippet
    vim-snippets.myCustomSnippets/snippets/javascript.snippets

ファイルに「javascript.snippets」という名前を付けることで、デフォルトとともに自動ロードされます。

4

5 に答える 5

4

.vim ディレクトリ内にスニペット フォルダーを作成し、そこにスニペットを配置します。そこに javascript.snippets というファイルを作成すると、snipmate スニペットとカスタム スニペットの両方が利用可能になります。

于 2011-08-02T18:13:25.870 に答える
2

さらに参考までに、:h snipMate の状態: extends: 指定されたファイルタイプのスニペットを拡張します。

extends c, cpp, objc

これには、指定されたファイルタイプのすべてのスニペットが含まれます。独自のスニペット ファイルを ~/.vim/snippets/objc.snippet に配置するだけです

于 2014-06-17T18:01:22.410 に答える
1

はい、もちろん。最初に github.com/MarcWeber/vim-addon-manager を使用して、アップストリームの変更を見逃さないようにします。M. Sander のスニップメイトは、マージ リクエストに関するメールに返信しなかったため、フォークされました。だから私とガルバスはそれを改善しました。新しいバージョンは github.com/garbas/vim-snipmate にあります。

ファイルタイプをスニペットファイルに関連付けるために使用できるグローバル scope_aliases ディクショナリがあります。このようにして、個人の好みに基づいて、js スニペットのサポートを html ファイルに簡単に追加できます。他にもいくつかの変更がありますが、それらを繰り返すのはうんざりです。

于 2012-01-07T22:56:43.157 に答える
0

病原体を使用しているため、カスタム スニペット フォルダーを bundles ディレクトリに追加するだけです。例えば:

~/.vim/bundles/mySnippets/snippets/php.snippets

于 2012-02-06T19:54:25.467 に答える