前回はVimのカスタマイズ方法について解説しました。Vimを使いやすくするためには設定を変更する以外にも、プラグインを導入する方法があります。プラグインを導入することで機能を拡張できるので、Vimの標準機能ではちょっと不便と感じていることも解消できる可能性があります。今回はみなさんに、プラグインの仕組み、導入方法や筆者が普段使っている便利なプラグインを紹介していきます。scriptで書かれたスクリプトファイルです。scriptはVim上で使用することが出来るスクリプト言語で、vimrcに設定を記述するときにも使用します。それらのファイルを読み込むことで、プラグインが提供しているコマンドなどを使用することができます。プラグインの導入方法スクリプトファイルを:sourceもしくは:runtimeコマンドで読み込むことができますが、Vimを起動したら使えるようにしたいという方がほとんどかと思います。そこでVimのpackages機能を使用します。Vimの{packpath}/pack/{任意のディレクトリ名}/start配下にプラグインのディレクトリを配置することで、Vim起動時に読み込んでくれます。packpath?で確認できます。ちなみに、筆者の場合のpackpathは次のようになっていて、普段プラグインを作るときは~/.vim/pack/plugins/start/配下にプラグインディレクトリを置いています。packpath=~/.vim,/usr/local/share/vim/vimfiles,/usr/local/share/vim/vim81,/usr/local/share/vim/vimfiles/after,~/.vim/after現在では多くのプラグインがGitHub上で管理されているので、gitコマンドとpackages機能を使うことで簡単にプラグインを導入できるようになっています。導入するプラグインが多くなると、今度は管理が大変になってきます。そこでプラグインの管理をするプラグインを使用すると便利です。管理プラグインはいくつかありますが、筆者はdein.vimというプラグインを使用しています。dein.vimはtomlファイルを使ってプラグインを管理する事ができます。tomlファイルに記述してプラグインをインストール、またtomlファイルから削除してプラグインをアンイストールできるので便利です。インストールもアンイストールも自動でやってくれるわけではないので、少し手を加える必要があります。筆者の場合はvimrcに以下の設定をしています。}}}Vim起動時にdein.vimがインストールされていなければまずdein.vimをインストールし、その後にtomlファイルを読み込み、未インストールのプラグインを全てインストールします。tomlファイルからプラグインが削除されたら、プラグインの本体も削除するようにしています。tomlファイルは~/.vim/dein.tomlに配置しています。GitHubのユーザ名/リポジトリ名という形で追記してVimを再起動するだけです。'fatih/vim-go'おすすめプラグインプラグインの導入方法についてわかったところで、筆者が普段良く使っている便利なプラグインを紹介していきます。ファイルなどのあいまい検索fzf.vimはファイルを曖昧検索して開くことができます。現在のディレクトリ配下のファイル一覧から開きたいファイルを絞り込んで、複数ファイルを分割もしくはタブで開くことができます。ファイル以外にもバッファなども開けます。Go製のfzfというコマンドを使っているため、動作も軽いです。筆者的には欠かせないプラグインの1つです。導入するには以下をtomlに追記します。筆者は普段、記事を書いたり、メモをとったりするときによくMarkdown形式で書いています。書いた内容をブラウザで表示したときにレイアウトが崩れていないかを確認したいときがあるのでpreview/preview.vimを使っています。ファイルを保存するたびブラウザ画面も更新されます。導入するには以下をtomlに追記します。'previm/previm'Markdownのテーブル作成Markdown形式で書いているとテーブルをサクッと作りたくなることがあります。そのときに使用するのがmattn/vim-maketableです。セルの単語を,で区切ったあとに:MakeTable!を実行するとサクッとテーブルを作れます。導入するには以下をtomlに追記します。'mattn/vim-maketable'ヘルプの日本語化Vimのヘルプはすごく充実していますが、デフォルトは英語です。筆者は英語が苦手なので日本語化しています。ヘルプを日本語化するには、まずvim-jp/vimdoc-jaをtomlに追記します。'vim-jp/vimdoc-ja'それから、vimrcに次の設定を追記します。helplang=ja日本語化できるとヘルプが画像の様に日本語になります。置換のプレビューVimで文字列置換をするときによく正規表現を使いますが、筆者は正規表現が苦手なので置換結果をプレビューしたいことが多々あります。いうときはmarkonm/traces.vimを使用します。こちらのプラグインはリアルタイムで置換結果をプレビューしてくれます。想定通りに置換されるかどうかを確認するのにとても便利です。導入するには以下をtomlに追記します。普段OSSのドキュメントを書いたり、コメントを読んだりする時に翻訳したいことが多く、ブラウザとVimを行き来して不便だったのでGoogle翻訳をVim上で使えるようにtranslate.vimというプラグインを作りました。ビジュアルモードで翻訳したい範囲を選択して:Translateすると翻訳されます。翻訳元と翻訳先はvimrcに記述します。詳細はREADMEを参照してください。導入するには以下をtomlに追記します。筆者は開発でDockerを使ったりしますが、Vim上でDockerを操作できたら便利と思いdocker.vimというプラグインを作りました。Vim上でイメージをpullしたり、コンテナを立ち上げたり、作成してattachしたりと、色々な機能があります。控えめに言って便利です。導入するには以下をtomlに追記します。'skanehira/docker.vim'最後にプラグインはとても便利です。1つ導入するだけでも作業効率が上がったりしますが、プラグインに頼りすぎてしまうとプラグインなしではVimを使って作業できなくなってしまう可能性があります。そのため、筆者は「これは標準機能や設定で賄えるかどうか?」を判断基準にしてプラグインを入れるかどうか決めています。これはあくまで筆者の考えと拘りなので正解ではないので、強制するものではないのですが、そういった考えもあるというのを知って頂ければと思います。最後に、本記事ではほんの一部のプラグインを紹介しましたが、他にもたくさん便利なプラグインがあります。@yutakatayさんによるカテゴリごとのプラグインをまとめた記事がありますので、ぜひ読んでみてください。次回はいよいよ最終回です。プラグインを実際にどうやって作っていくのかを解説していきます。scriptの書き方も合わせて解説していきますので楽しみにして頂ければと思います。