snipMate.vimをインストールしてみた

今日、vimの勉強をしなくては。と思い立って
vim.orgをのぞいてみたら(勉強法としては間違っている)
snipMate.vimというTextMateのような補間をしてくれる
vimプラギンを見つけました。


snipMate - TextMate-style snippets for Vim : vim online
http://www.vim.org/scripts/script.php?script_id=2540


mainと打つだけで、mainの引数が補間されたりします。
Railsのデモが流行った時のTextMateのような動作という事なんだろうと思います。
実際の動作については、以下の動画を見てみてください。



snipMate.vim Introductory Screencast from Michael Sanders on Vimeo.


これは便利なんだろうか、慣れるまで大変なんだろうか...
とか、あれこれ考える前に使ってみようと思って
インストールしてみました。


snipMate - TextMate-style snippets for Vim : vim online
に書いてある通り、snipMate.zip を適当な所にダウンロードして
unzip snipMate.zip -d ~/.vim で展開すると使えるようになりました。


展開後は、 ~/.vim/snippetsに色んなファイルタイプ用に
snippetsというファイルが置いてあって、
このファイルにしたがって、補間されるようです。


例えば、c.snippetsの一部を見ると以下のように書いてあります。

snippet main
    int main(int argc, char const* argv[])
    {
        ${1}
        return 0;
    }
snippet inc
    #include <${1:stdio}.h>${2}


拡張子cのファイルを開き、vimのinsertモードで
"main"と押してtabキーを押すと...(動画にもあった通り)

int main(int argc, char const* argv[])
{
    _
    return 0;
}

までが、ぱぱっと入力されて、_の部分(snippetsでいう{$1}の部分)に
カーソルキーが来て入力を続けることができます。


同様に、"inc"と押してtabキーを押すと
_の箇所にカーソルキーが来て、入力を続ける事ができます。
入力前の初期値は"stdio"になっています。

#include <_.h>


コマンド(先の例ですとmainとかinc)の一覧は
snippetファイルを見ればわかりますし、
自分に合わないコマンドは編集すれば良いと思います。


結果とかわかった事

  • snipMate.vim は導入も簡単
  • まだ、使い始めたばっかりだけど便利そう。
  • snippetsファイルの作成も簡単そう。{$1:default}などを埋め込むだけっぽい。
  • 余談だけど、ソフト開発したら紹介用の動画を置いておくのは効果的ですね。
  • ruby.snippets が自分に合わなかったので編集してみる。