2021年に使うSnipMate
2021-05-31
Tech今までいわゆるスニペット系のvimプラグインは使わずに来たのだが、Rustを書くようになって
Default::default()
とタイプするのが面倒collect::<Vec<_>>
とタイプするのが面倒use std::collection::HashMap;
とタイプするのが面倒
…のように、スニペットの必要性が分かるようになった。
どのようなプラグインがあるかは以下がとても参考になった。
今回は、「あまり高度な機能は必要としていない」「トリガー方式でよい(個数が少ないので)」という要件からとりあえずSnipMateを試してみることにした。
インストール
お使いのプラグインマネージャで garbas/vim-snipmate
を入れる。
その後、.vimrcに let g:snipMate = { 'snippet_version' : 1 }
を追加する。新しい方のパーサを使うという指定で、これがないと起動時に警告が出る。今回は新しく使い始めるので問題ないだろう。
スニペットを用意する
~/.vim/after/snippets
というディレクトリを作り、 rust.snippets
というファイルを作成する。
snippet de "Default::default()"
Default::default()
書き方についてはここに大量のサンプルがある。
この状態で.rsファイルを開き、インサートモードで de<TAB>
と入力すると Default::default()
に展開される。