開発をしてIDEを使っていても時々Vimのキーバインドを使う程度には、Vimってホームポジションから手を動かさなくていいから楽だよなぁと思っています。
そろそろ初心者Vimmerから抜け出そうと思い、プラグインマネージャを動かそうとしてうまくいかないことがありましたので、備忘録がてら残しておこうと思います。
一人でもこういうことに時間を取られる時間が減りますように。
Contents
忙しい人のための結論
CentOSはだめだったけど、Ubuntuでならできました。もしかしたらCentOSでVimを更新するといけるのかもしれないとか書きながら思いました。後日検証します。
CentOS7.6 Vim7.4 失敗
Ubuntu18.04 Vim8.0 成功
Vimのプラグインマネージャの種類
先人が下記のサイトにあるようにVimのプラグイン管理についてまとめていただいてます。ありがたい。(2019/08/15閲覧)
Vim におけるプラグイン管理についてまとめてみた – Qiita
https://qiita.com/tanabee/items/e2064c5ce59c85915940
この中からdein.vimとvim-plugを導入まで試してみることにしてみました。
基本的にはそれぞれのGithubのREADMEに書いている手順を試しただけです。
詳細は上記URLをご参照ください。
CentOS(Vagrant)で試す
まずはVagrantでCentOS7のboxを使って仮想環境作りました。
dein.vim
https://github.com/Shougo/dein.vim
Quick startに従います。
まずは以下のscriptを実行しろと。
curl https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh > installer.sh
sh ./installer.sh ~/.cache/dein
うん、~/.cache/deinってディレクトリが作られたよ。
あとはもう.vimrcを書くだけなのね。
なんだよ簡単じゃないか。
ちなみにですが、上記installer.shが終わると.vimrcのサンプルが表示されるのでそれを使ってもOKです。
if &compatible
set nocompatible
endif
" Add the dein installation directory into runtimepath
set runtimepath+=~/.cache/dein/repos/github.com/Shougo/dein.vim
if dein#load_state('~/.cache/dein')
call dein#begin('~/.cache/dein')
call dein#add('~/.cache/dein/repos/github.com/Shougo/dein.vim')
call dein#add('Shougo/deoplete.nvim')
if !has('nvim')
call dein#add('roxma/nvim-yarp')
call dein#add('roxma/vim-hug-neovim-rpc')
endif
call dein#end()
call dein#save_state()
endif
filetype plugin indent on
syntax enable
あとはvimを開きなおして以下のコマンドを叩くのね。(vimを開いた状態で以下のコマンドを叩きます)
:call dein#install()
何も起こらないんですけど?
よくよくREADMEを読んでいると、deinの最新バージョンはVim8.0対応で、Vim7.4は対応していないらしい!へー。
Vim7.4のときはdeinのバージョンを1.5にしてね、ってどっかにかいてあったので、バージョンを下げます。
色々調べているとdienのディレクトリ(~/.cache/dein)をまだ下がっていくとgitのリポジトリが出てくるので、ここで1.5のタグが付いてるコミットに変更します。
git checkout 1.5
よし、準備ばっちり。さっきやった通りvimを開きなおしてdein#install()のコマンドを叩くのね。
何も起こらないんですけど?(2回目)
(余談)
CentOS7のデフォルトのVimのバージョンがまだ7.4らしい。いつ上がるのかな?実は最新バージョンのCentOS7だとVim8なのかな?
色々調べても有用な情報を取得できませんでした。納得しないがらも気持ちを切り替えてvim-plugを導入することにしました。設定ファイル少ないらしいしね!
vim-plug
https://github.com/junegunn/vim-plug
Installationに従います。Unix系は以下のコマンドなのね、ふむ。
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
~/.vim/autoloadが作られたよ。
次は.vimrcを書きますが、先ほど作ったファイルは消しちゃってください。過去の思い出はさっぱりと消し去りましょう!
READMEに書いている.vimrcの内容でもいいんですが、とりあえず試すんだったらtutorialに短い.vimrcがあったので、こっちでいいと思います。
以下の2行目はtutorialと違うので、実際のディレクトリ構造に変更(plugged -> autoload)しましょう。
" Plugins will be downloaded under the specified directory.
call plug#begin('~/.vim/autoload')
" Declare the list of plugins.
Plug 'tpope/vim-sensible'
Plug 'junegunn/seoul256.vim'
" List ends here. Plugins become visible to Vim after this call.
call plug#end()
準備完了。
:source ~/.vimrc で再読み込みするかvimを開きなおすからしい。まぁどっちでもいいけど開きなおしました。なんか怒られた気もするけど、気にしない!←
vimを開きなおして以下のコマンドを実行!
:PlugInstall
何も起こらないんですけど?(3回目)
すみません、半分嘘で、「そんなコマンドはないよ」って怒られました。
え、なに、vimの神様は俺に初心者を脱するなって言ってるの?
それとも超えられない壁はない的なあれ?そんなのいいから早く使わせてよ!
CentOS(Docker)で試す
ここでようやく別の環境でも試してみようと思い始めます。
でも仮想マシン立てるの、Vagrant使ってるとはいえ時間かかるしなぁ。
あ、ラズパイをサーバにしてるしそこでDocker動かしてるしそれ使おう!
というわけでここからDocker使います。
それぞれのコンテナで必要なツール(git, curlなど)は適宜入れてください。
vim-plug
じゃーまずはCentOSから。deinはなんか悪い思い出なので←
vim-plugを上記と同様の手順で試します。
何゛も゛起゛こ゛ら゛な゛い゛ん゛で゛す゛け゛ど゛お゛お゛お゛お゛お゛ぉ゛ぉ゛ぉ゛ぉ゛ぉ゛ぉ゛ぉ゛?(4回目)藤原竜也のやつを使いたかったっだけ
すみません、半分嘘で、「そんなコマンドはないよ」って怒ら(ry
Ubuntu(Docker)で試す
はい、Dockerというツールを使っている私はこの程度では諦めません。
vim-plug
続いて同時に起動していたUbuntuのコンテナでも同様の手順を実施。
動くのかよ!!
いいんだけど!お前動くのかよ!!やったぜ!!実行結果はこんな感じでした。
ちょっと縦に長いのはご愛敬ってことで。
dein.vim
じゃー気持ちを入れ替えてUbuntuでdein.vimを試してみる。molokaiを追加してvim開きなおして
:call dein#install()
[dein] Done: (2019/07/30 07:01:31) 1,1 All
動゛く゛の゛か゛よ゛!゛
まとめ
なんでかわからないけど、CentOSでは動きませんでした。なのでUbuntuに乗り換えようと思います←
プラグインを色々と探してみて、お勧めがあれば追記しようと思います。
CentOS7で動くやりかたをご存知の方、ご教授いただければ幸いです。
楽しいVimライフを!