Deep Dive

IT系ダイバーのログ トライアスロンはじめました

dein.vimで不要になったプラグインをチェックして消す

前回の投稿から時間がだいぶ経ってしまった...

やっと家に開発環境が整ったので、今後はハマったり工夫したところがあったらちょこちょこ投稿していこうと思う。

今回はdein.vimの話。

dein.vimで不要になったプラグインをチェックして消す

当方はneovimでdein.vimを使ってプラグイン管理している。

ちょうどvim-autocloseからleximaに乗り換えようとしたところでvim-autocloseが不要になったので、まずはvim-closeを消す。

このissueのコメントで自分がやりたいことを一通り回答してもらえていたので参考にした。

github.com

:call map(dein#check_clean(), "delete(v:val, 'rf')")

vim上で :echo dein#check_clean() とすると、不要になったプラグインがあるディレクトリの絶対パスをリスト型で返してくれる。

不要なものがない場合は空リストを返す。

また、ここでのmapはリストや辞書を扱う関数としてのもの。

第一引数に与えられたリスト型の要素を、順々に第二引数のコマンドのv:valと書かれた箇所に渡して実行していく。

ということで、これを実行すれば完了。

だが毎回やりたくはない

とりあえず ~/.config/nvim.init.vim に以下を追加した。

...
if len(dein#check_clean()) != 0
  call map(dein#check_clean(), "delete(v:val, 'rf')")
endif
...

これで毎回思い出さなくて済むぞー