Vim のスニペットプラグインを使い始めた

Page content

どうも、たくチャレ(@takuchalle)です。

vimを使い始めてしばらく経ち、ちょっとづつ慣れてきました。 もっとテンポよくプログラミングしたくなったので、スニペットプラグインを導入してみることにしました。

まず参考にしたサイトは「スニペットプラグインについて 2020 年版」です。

条件

いくつかスニペットプラグインがあるので、自分が必要とする条件を挙げてみました。

  • 他に依存がない
  • デフォルトのスニペットが豊富
  • LSP と親和性が高い

まず他のツールに依存がない方がトラブルも少ないし、インストールの手間もなくて良いです。プラグインによってはPythoncocフレームワークに依存しているプラグインがあるので、候補から外しました。

デフォルトのスニペットが豊富だと自分で色々書かなくて済むので良いですね。

LSPのプラグインvim-lspを使ってるので、それと競合しない、むしろ親和性があると導入しやすいです。

vim-vsnip

いくつかの条件に合致したのがvim-vsnipでした。

VSCodeのスニペットとの互換性を重視して設計されたスニペットプラグインです。

Vim scriptで記述されているので、他に依存はありません。VSCodeのスニペットと互換性があるので、すでにスニペットが豊富です。ただ、スニペット形式がJSONなので自作のスニペットを作成するときは面倒くさそうです。しかし、そんな頻繁にスニペットを作ることはないのでこのデメリットはそこまで気になりませんでした。さらにLSPと同じインターフェイスでスニペットが使えるので完璧です。

導入方法

vim-plugを使っているので、次のようにしました。

Plug 'hrsh7th/vim-vsnip' " プラグイン本体
Plug 'hrsh7th/vim-vsnip-integ' " LSP 連携
Plug 'rafamadriz/friendly-snippets' " 大量のスニペット郡

プラグインに入ってるスニペットでは少ないので、rafamadriz/friendly-snippetsもインストールします。ここに大量のスニペットが入っています。

ひとまずこの構成でやっていきたいと思います。