dein.vimについて箇条書き?
どうもまちゃです!
とりあえずvimいじって開発環境よくしようと思ったからdein.vimを導入したけど理解不足すぎるからとりあえず自分なりの解釈で箇条書き!
間違ってたり他にもこんなやり方があるよとか教えていただけると嬉しいです!
deinでプラグインを導入するとき
dein.vimはvimのプラグインを管理するためのものです!
プラグインがどういうものかは割愛します...。ごめんね
プラグインを導入するときに大体Git Hubから取ってくるからGit使えるとちょっといいかも!!
プラグインの導入の仕方は
[[plugins]]repo='[導入したいプラグイン]'
導入したいプラグインはGit Hubのリポジトリ名を直接入れるだけ!!
この形で書いてあげるとプラグインの導入自体は終了!
その後に設定とかを書いてあげないと真価を発揮してくれなくて、その設定の読み込みに種類があるからちょっと解説!!
読み込みの種類とファイル
さっき言った通りdeinには読み込みの種類があってその種類によって書くべきファイルが変わってくるので解説!!
ファイル
とりあえずファイルについて解説!
ファイルには2種類あってvimを起動するときにプラグインも一緒に起動させるファイル(dein.toml)とプラグインを遅延させて起動させるファイルの2種類があるよ!!
使い分けはこのあと説明!
(ファイルを分けなくても大丈夫!!でもプラグインを増やしていくと見づらくなるから分けるのをおすすめ!!)
hook_add
プラグインを読み込ませるのに使うやつの1つ目がhook_add!
これはdeinにプラグインが認識されたときにhook_add内に書いてあることを実行してくれるもの!
あとで説明する遅延読み込みを行わないもの!
この子を使うときは、プラグインを起動させるのにキーマッピングをしたり、プラグイン用の変数を設定したりするときに使う!
例としては
[[plugins]]repo='scrooloose/nerdtree'hook_add='''nnoremap<silent><C-e>:NERDTreeToggle<CR>'''
これはNerdTreeっていうプラグインで(このプラグインについては割愛)これを起動するのに:NERDTreeToggle
って打たなきゃいけないんだけど、こんな感じで書いといてあげると<C-e>
(コントロール+e)で起動することができる!!<C-e>
じゃなくても<C-n>
とかE
みたいに何でも大丈夫!ただ、割り当てたら元々当てられてたやつは使えなくなるから要注意!!
hook_source
2つ目がhook_source!!
これはプラグインを読み込ませる直前に実行してくれるもの!!
さっき説明したhook_addと対して変わらないけど、こうなるまで何もしないで欲しいときに使う!
これの何がいいかというと、特定の動きをする以外は実行しないから、環境を汚さなくてすむ!!
これを使うときは、deopete.nvim(このプラグインについては割愛)を使うのにlet g:deoplete#enable_at_startup = 1
っていうのを書いとかなきゃいけないんだけど、insertに入るまでは一切使わないからそれまで遅延させてあげるとinsertに入らないときは実行しないから無駄がない!!
書くときは
[[plugins]]repo='Shougo/deoplete.nvim'hook_source='''letg:deoplete#enable_at_startup=1'''on_i=1
on_i = 1
はinsertモードに入ったら1を返してってことで、これでinsertに入ったらhook_sourceが実行される!!
hook_post_source
3つ目がhook_post_source!!
これはhook_sourceの反対でプラグインを読み込んだあとに実行してくれるもの!!
これよりあとに紹介するのは今回は実装しなかったので、いいプラグインを見つけ次第書きたいと思いまっす!
hook_post_update
4つ目がhook_post_update!!
これはプラグインのインストール後にコンパイルや関連ツールをインストールするのにbuild
オプションが使える!!
hook_done_update
最後がhook_done_update!!
さっき紹介したのはプラグイン毎に実行されてたけど、これは全部のプラグインをインストールしたあとに実行される!!
紹介した読み込みの種類とファイル関係を表にするとこんな感じ!!
hookの種類 | dein.toml | dein_lazy.toml |
---|---|---|
hook_add | OK | OK |
hook_source | NO | OK |
hook_posr_source | NO | OK |
hook_post_update | NO | OK |
hook_done_update | NO | OK |
簡単にまとめると遅延させるときはlazyへ!!
dein.vimを導入してみて
今回導入して思ったことはプラグイン最高!!!!
プラグイン入れたら色々とモチベが上がってきていい感じになった気がする!!
今回自分が入れたプラグイン一覧と簡単な説明はここhttps://qiita.com/maachan_9692/items/8afe183a1beb5adb9875に載せてあるのでよかったら見てみてください!!
それじゃこんなところで!
以上まちゃでした!!