Edited at

centOS7x64にvim8.1+lua+pythonプラグイン環境を構築するぞ


2019/6/14 追記


Vim or NeoVimを使っている人は、すぐにアップデートしましょう CVE-2019-12735


vim --versionの結果、適用済みパッチが1-1365以下の場合、vimリモート機能を悪用した脆弱性があるようです。記事を書いているときのバージョンは1-1525でした。ちゃちゃっとアップデートしておきましょう。


標準vimはあかんねん

標準で入っているvimはバージョンが7.4と古くluapythonとも連携していないため、vimの便利なpluginが使えません。

今回はタイトル通り、centOS7環境にvim8.1+lua+python3.6環境を作っていきたいと思います。1


やること


  1. 後の作業に必要なパッケージ群やリポジトリのインストール

  2. 標準vimの削除

  3. python3.6のインストール


前提パッケージ、リポジトリ準備

sudo yum install https://centos7.iuscommunity.org/ius-release.rpm

sudo yum install openssl-devel readline-devel zlib-devel


perlのインストール

vimのコンパイル時にこれが無いとエラります

sudo yum install perl-ExtUtils-Embed


luaのインストール

sudo yum install lua-devel ncurses-devel


rubyのインストール

もとから入っているやつは化石みたいなバージョンなので、最新版を入れましょう

cd /tmp

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
rbenv -v
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
sudo ~/.rbenv/plugins/ruby-build/install.sh
rbenv install -l
rbenv install 2.5.3
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
rbenv global 2.5.3
ruby -v


python3.6のインストール

sudo yum install python-devel python36u python36u-libs python36u-devel python36u-pip


vim-enhancedの削除

vim-commonとか入っているかもしれないけど、vim-enhancedだけ削除すればよろしい

sudo yum list installed | grep vim

sudo yum remove vim-enhanced


vim8.1のインストール


make installする前に、lua, python, rubyが'+'になっているかを確認すること!!

cd /tmp

git clone https://github.com/vim/vim
cd vim

sudo ./configure \
--enable-fail-if-missing \
--with-features=huge \
--disable-selinux \
--enable-luainterp \
--enable-perlinterp \
--enable-pythoninterp=dynamic \
--with-python-config-dir=/usr/lib64/python2.7/config \
--enable-python3interp=dynamic \
--with-python3-config-dir=/usr/lib64/python3.6/config-3.6m-x86_64-linux-gnu \
--enable-rubyinterp=dynamic \
--with-ruby-command=/home/'あなたのユーザ名'/.rbenv/shims/ruby \
--enable-cscope \
--enable-fontset \
--enable-multibyte \
vi_cv_path_python3=/usr/bin/python3.6

sudo make

# ↓↓↓make installする前に、lua, python, rubyが'+'になっているかを確認すること↓↓↓
./src/vim --version
# ↑↑↑make installする前に、lua, python, rubyが'+'になっているかを確認すること↑↑↑

sudo make install

つつがなく終わったら、vim --versionで確認。画像の通りになっていますか?- luaにとかになっていたら失敗しているので、もう一度やりましょう...


終わりに

ビルドに失敗したら、以下のコマンドで全てをなかったことにしましょう

sudo rm -rf /usr/bin/vim

sudo rm -rf /usr/local/share/vim
cd /tmp/vim/src
sudo make distclean





  1. とりあえず過去のコマンドを見ながら思い出しつつ書いているので、間違っていたらどんどん教えてください。