はじめに
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
orcurl
で入手する
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する処理となる。
-
念のため前もって
.vimrc
のバックアップを取る。
既にファイルがあれば、自動でバックアップファイルが作られるので取る必要はありませんが、念のために設定ファイルをrenameし、バックアップしておきます。 -
installer.sh
実行
実行する事により、次のふたつの処理がされています。(vimの場合)
-
~/.cache/dein
以下にpluginのデータを保存 -
~/.vimrc
の更新(dein
のpluginしたもの)
$ ./installer.sh
、オプションなしで実行します。
参考サイトのほとんどは./installer.sh ~/.cache/dein
と保存するディレクトリーを指定していますが、現在のバージョンは固定になっているせいか、指定不要でエラー発生します。
2-1. 保存先の設定(vim<1>か、neovim<2>か)
2-2. 設定ファイルの設定(vim<1>か、neovim<2>か)
2-3. 最終表示ログ
実行前に.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
" 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をセットする方法も同じ。
ただ、neovim
はlua
で管理しているので、dein
と競合してしまって、エラーが発生している。
lua
にしてしまうのか、このままdein
を使用するのか、これからの課題となります。