1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

dein.vimを導入したけど理解不足すぎるからとりま箇条書き的な?

Last updated at Posted at 2019-05-26

dein.vimについて箇条書き?

どうもまちゃです!
とりあえずvimいじって開発環境よくしようと思ったからdein.vimを導入したけど理解不足すぎるからとりあえず自分なりの解釈で箇条書き!
間違ってたり他にもこんなやり方があるよとか教えていただけると嬉しいです!

deinでプラグインを導入するとき

dein.vimはvimのプラグインを管理するためのものです!
プラグインがどういうものかは割愛します...。ごめんね
プラグインを導入するときに大体Git Hubから取ってくるからGit使えるとちょっといいかも!!
プラグインの導入の仕方は

dein.toml
[[plugins]]
repo = '[導入したいプラグイン]'

導入したいプラグインはGit Hubのリポジトリ名を直接入れるだけ!!
この形で書いてあげるとプラグインの導入自体は終了!
その後に設定とかを書いてあげないと真価を発揮してくれなくて、その設定の読み込みに種類があるからちょっと解説!!

読み込みの種類とファイル

さっき言った通りdeinには読み込みの種類があってその種類によって書くべきファイルが変わってくるので解説!!

ファイル

とりあえずファイルについて解説!
ファイルには2種類あってvimを起動するときにプラグインも一緒に起動させるファイル(dein.toml)とプラグインを遅延させて起動させるファイルの2種類があるよ!!
使い分けはこのあと説明!
(ファイルを分けなくても大丈夫!!でもプラグインを増やしていくと見づらくなるから分けるのをおすすめ!!)

hook_add

プラグインを読み込ませるのに使うやつの1つ目がhook_add!
これはdeinにプラグインが認識されたときにhook_add内に書いてあることを実行してくれるもの!
あとで説明する遅延読み込みを行わないもの!

この子を使うときは、プラグインを起動させるのにキーマッピングをしたり、プラグイン用の変数を設定したりするときに使う!
例としては

dein.toml
[[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に入らないときは実行しないから無駄がない!!
書くときは

dein_lazy.toml
[[plugins]]
repo = 'Shougo/deoplete.nvim'
hook_source = '''
let g: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を導入してみて

今回導入して思ったことはプラグイン最高!!!!
プラグイン入れたら色々とモチベが上がってきていい感じになった気がする!!
今回自分が入れたプラグイン一覧と簡単な説明は ここ に載せてあるのでよかったら見てみてください!!

それじゃこんなところで!
以上まちゃでした!!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?