LoginSignup
7
6

More than 1 year has passed since last update.

Vimのplugin管理ツール、`dein`のインストールとpluginのセット

Posted at

はじめに

vimのpluginをセットするためにdeinを各サイトを参考にしてインストールしようとしたが、どうもうまくいかないので、元のgithubから直接読み込み、設定する事にした。
その方法をここに書き留めます。

インストール対象: MacOS Ventura

参考サイトを見てもダメだった。

curlによりgithub上にあるinstaller.shをダウンロードするが、そのgithubのアクセスがないとエラー(404)が発生。
つまり、ダウンロード先が変わっていて、動作しなかった。
参考サイトは多かったが、保存先、あるいは方法がその都度変えられるので、以下の本体を見て処理する方が確実なようだ。

deinの場所: https://github.com/Shougo/dein.vim
installerの場所: https://github.com/Shougo/dein-installer.vim

参考: installerの場所はShougo/dein.vimのREADME.mdに記述(リンク)されている。

installer.shのダウンロード

  • git cloneしちゃえ
     installer.sh のひとつファイルを入手するだけなので、全部入手する必要がなかったが、エラーが多かったので、
    $ git clone git@github.com:Shougo/dein-installer.vim.git
    で全部展開しちゃた。
    展開先はどこでも構わない。私の場合、たまたま ~/.vim/pluginsに展開した。

要は、installer.shにはインストール先が指定されているので、とにかく実行できれば良い。

  • wget or curlで入手する
    installer.shを保存するディレクトリーで以下の処理によりinstaller.shを保存する。
$ wget -O- https://raw.githubusercontent.com/Shougo/dein-installer.vim/master/installer.sh > installer.sh
or 
$ curl -fsSL https://raw.githubusercontent.com/Shougo/dein-installer.vim/master/installer.sh > installer.sh

これも展開先をどこでも良い。
ちなみに、このアクセス先もgithubのREADME.mdに書かれている。従って、上記処理がダメならば、本体を見る必要がある。

installer.shの実行

実行により、.vimrcまたはinit.vimの更新とdeinのpluginの展開される事になる。
plugin管理のdeinをpluginする処理となる。

  1. 念のため前もって.vimrcのバックアップを取る。
    既にファイルがあれば、自動でバックアップファイルが作られるので取る必要はありませんが、念のために設定ファイルをrenameし、バックアップしておきます。

  2. installer.sh実行
    実行する事により、次のふたつの処理がされています。(vimの場合)

  • ~/.cache/dein以下にpluginのデータを保存
  • ~/.vimrcの更新(deinのpluginしたもの)

$ ./installer.sh、オプションなしで実行します。
参考サイトのほとんどは./installer.sh ~/.cache/deinと保存するディレクトリーを指定していますが、現在のバージョンは固定になっているせいか、指定不要でエラー発生します。

2-1. 保存先の設定(vim<1>か、neovim<2>か)
Location.png
2-2. 設定ファイルの設定(vim<1>か、neovim<2>か)
config.png
2-3. 最終表示ログ
result.png

実行前に.vimrcのファイルがあったので、その元のファィルを.vimrc.pre-dein-vimとしてバックアップ保存されている。

Looking for an existing '.vimrc' config...
Found .vimrc. Creating backup in '/Users/mickeyoh/.vimrc.pre-dein-vim'...

pluginのセット

.vimrcの一部 #begin〜#end

.vimrc
" Call Dein initialization (required)
call dein#begin(s:dein_base)

call dein#add(s:dein_src)

" Your plugins go here:
"call dein#add('Shougo/neosnippet.vim')
"call dein#add('Shougo/neosnippet-snippets')
call dein#add('elixir-editors/vim-elixir')
call dein#add('plasticboy/vim-markdown')
call dein#add('kannokanno/previm')
call dein#add('tyru/open-browser.vim')
" Finish Dein initialization (required)
call dein#end()

call dein#add('xxxxx/yyyyy')とgithub上のxxxxx/yyyyyのpluginを設定します。
上記例では、elixir-editors/vim-elixirをセットします。

この設定後、vim起動するとセットしたpluginをgithubからダウンロードされ展開されます。

展開ディレクトリー

~/.cache/dein/repos/github.com
        |- Shougo/
        |      |- dein.vim/
        |- elixir-editors/
        |      |- vim-elixir/
        |- xxxxxxx
        |      |- yyyyyy
        |  

に展開されます。

pluginが本当に展開されたか、チェック

.vimrcに以下の処理がある。

" Uncomment if you want to install not-installed plugins on startup.
"if dein#check_install()
" call dein#install()
"endif

この処理のコメントを外すとそのチェックが可能となっている。

" Uncomment if you want to install not-installed plugins on startup.
if dein#check_install()
 call dein#install()
endif

まとめ

vimのplugin管理として、何が良いか調査した結果、この deinを選択し、入れてみたが、冒頭に書いたように複数ある参考サイトの通りやってもダメだった。結局も大元のドキュメントを見たり、はたまたinstaller.shの中身まで見て、やっとインストールに成功した。
ただ、plugin方法はわかったが、ひとつのappに複数のpluginがあるのでその選択に悩む。試してみるしか方法がないようだ。
neovimについて、installer.shの実行、項目選択により簡単に設定可能だった。新しいpluginをセットする方法も同じ。
ただ、neovimluaで管理しているので、deinと競合してしまって、エラーが発生している。

luaにしてしまうのか、このままdeinを使用するのか、これからの課題となります。

7
6
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
7
6