2011-08-15 14 views
9

VIM用のsniptMateプラグインを使用し始めたばかりですが、スニペットのコレクションが膨大ではないので、新しいスニペットを動的に追加することができますスニペットファイルを開き、開発の途中で新しいスニペットを作成するよりも、VIMのsnipMateに新しいスニペットを追加する方法

私は何かをコーディングしているので、特定のコードをスニペットとして保存して、肥大コードを再度入力する手間を省くことができます。この時点で、スニペットを開かずにスニペットを追加できるようにしたい私が使用している言語のファイル。

答えて

4

私はこのようにするつもりはありませんが、現在作業しているファイルの中からMakeSnip関数を呼び出すことができます。たとえば:

:call MakeSnip(&ft, "foo", "<foo>${1}</foo>") 

&ft"foo"がトリガされ、"<foo>${1}</foo>"が置換テキストで、現在編集しているファイルのファイルタイプを渡します。

もちろん、このように作成されたスニペットは保持されません。なぜスニペットは、別のバッファにファイルオープンしている、必要に応じて、そこに新しいスニペットを定義し、その後、次のことはしないでください

:call ReloadSnippets(&ft) 

と新しいスニペットが利用できるようになります。スニペットファイルを書くときには、ReloadSnippets関数を呼び出すautocmdを定義することもできます。

0

スニペットのスニペットは通常、snippetsfolderの ".vim"ディレクトリに保存されます。

作業している言語のスニペットファイルを簡単に編集できます。

3

~/.vim/after/snippets/に自分のスニペットを入れることができます。また、Windows上の同等のものは... :h snipMateというファイル名の構文を参照してください。

8

pathogenを使用している場合、オリジナルのものを汚染することなく自分のスニペットを書くことができます。これを行うには、スニペットを~/.vim/bundle/mysnippets/snippets/*.snippetsに追加します。 FYI、mysnippetsには任意の名前を使用できます。

さらに、ファイルをそのディレクトリに追加して、ファイルタイプに関係なくすべての場所で使用できるスニペットを追加するのが慣例です。

1

ただ、ここにあなた自身のスニペット(あなたが編集したすべてのファイルでそれらを使用する与えられた)を配置します。たとえば

~/.vim/after/snippets/_.snippets 

を:

snippet test 
    {"foo": "${1}", "bar": "${2}"} 
0

あなたがあなたのプラグインを管理するためにvundleを使用している場合Windowsとあなた、あなたのCを追加したい場合は

vim-snipMate & vim-snippets 

がインストールされていますustomization、「HTML」ファイルタイプはに言う、あなたはこのフォルダに移動:

$HOME/vimfiles/bundle/vim-snippets/snippets/ 

は、新しいファイルを作成し、この形式で名前を付ける:

html_bsmith.snippets 

(それは後にアンダースコアしなければなりませんhtml、help snipmateを参照してください)

これで、vimは自動的にファイルを読み込みます。

あなたがカスタマイズしたばかりの既存のファイルに入れて、どこでも使用することができた場合:

_.snippets 
関連する問題