MacVimでRailsの環境を作る 〜SnipMateインストール〜

TextMateライクなスニペット補完が可能になるsnipMateというvimスクリプトを入れました。

snipMateは下の動画で紹介されています。

snipMate.vim Introductory Screencast from Michael Sanders on Vimeo.

インストール

下のURLよりスクリプトをダウンロードし、『.vim』フォルダにコピーする。
snipMate – TextMate-style snippets for Vim

スニペットファイルの配置場所

ダウンロードしたファイルの中に”snippets”というフォルダがあるので、そのフォルダに「ファイルタイプ+”.snippet”」のファイル形式で配置すれば、ファイルタイプに応じたスニペットファイルが読み込まれます。デフォルトのスニペットファイルもいくつかあります。

スニペットファイルの定義方法

以下の形式で定義します。

例えば、

と定義した場合、
div<TAB>
と入力すると、定義した定型文が展開されます。
上の”${X}”は、<TAB>を入力する毎に、1,2,3・・・の順でカーソルが移動します。
プレースホルダは、以下の様に書きます。

  • ${1} ・・・ TABキーでカーソル移動するためのマーカー
  • ${1:name} ・・・ デフォルトで”name”が入力される
  • ${2:$1} ・・・ ${1}で入力した文字が${2}にも同期される

説明の部分は必須ではありませんが、トリガーのキーワードが重複している場合スニペットが一覧表示されますので、そのときにスニペットの説明として表示されます。
こんな感じの画面です。

snipMateの補完リスト表示

この画面で展開したいスニペットの数字を入力すると、選択したスニペットが展開されます。

スニペットファイルが公開されているサイト

スニペットファイルがいくつか公開されていました。

所感

スニペットファイルも定義しやすいし、さくさく入力ができるのでかなりおすすめです。
ただ、TextMateのようにプレースホルダの中にプレースホルダを定義出来ないことが残念です。
将来のリリースに期待です。