Edited at

Ubuntu18.04にvim8.1+python+ruby+luaプラグイン環境を構築するぜ


2019/6/14 追記


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


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


基本は下記の記事と同じです。

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

ただ、Ubuntuだと勝手が違う箇所が結構あったので修正版というか補足記事です。Ubuntuだとデフォルトでvim8.0が入っているのでええな~と思っていたら、各種のプラグインは全然入っていなかったので結局自分でコンパイルしなくてはいけませんでしたw


事前準備


必要なパッケージをインストールする

sudo apt install make cmake autogen automake libffi-dev libperl-dev libbz2-dev zlib1g-dev 


pyenvを使ってpythonをインストール

リンク

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
pyenv -v
pyenv install --list | grep 3.7
CONFIGURE_OPTS="--enable-shared" pyenv install 3.7.4
pyenv global 3.7.4


rbenvを使ってrubyをインストール

リンク

git clone https://github.com/rbenv/rbenv.git ~/.rbenv

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
rbenv -v
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
rbenv install -l | grep 2.6
CONFIGURE_OPTS="--enable-shared" rbenv install 2.6.3
rbenv global 2.6.3

source .bashrc
ruby -v


luaenvを使ってluaをインストール

リンク

git clone https://github.com/cehoffman/luaenv.git ~/.luaenv

echo 'export PATH="$HOME/.luaenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(luaenv init -)"' >> ~/.bashrc
source ~/.bashrc
$ type luaenv
#=> "luaenv is a function(luaenv は関数です)"が出たらOK
git clone git://github.com/cehoffman/lua-build.git ~/.luaenv/plugins/lua-build # これやらないとinstallとかのコマンドが使えない
luaenv install --list # 一覧表示
CONFIGURE_OPTS="--enable-shared" luaenv install 5.3.5
luaenv global 5.3.5
lua -v
# Lua 5.3.5 Copyright (C) 1994-2018 Lua.org, PUC-Rio
which lua
# /home/ユーザ名/.luaenv/shims/lua


vim8.1のインストール



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

  • python2とpython3の動的(dyn)なインストールは、windows以外では不可能です。あとで悩むことになるのでどちらか片方にしておきましょう。2020年にサポート終了する2.x系は今更なので、素直に3.x系で良いと思います。

cd /tmp

git clone https://github.com/vim/vim
cd vim
./configure \
--enable-fail-if-missing \
--with-features=huge \
--disable-selinux \
--enable-perlinterp \
--enable-python3interp \
--enable-rubyinterp \
--with-ruby-command=$HOME/.rbenv/shims/ruby \
--enable-luainterp \
--with-lua-prefix=$HOME/.luaenv/versions/5.3.5 \
--enable-cscope \
--enable-fontset \
--enable-multibyte \
vi_cv_path_python3=$HOME/.pyenv/shims/python
make

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

sudo make install


終わり~


失敗した場合

ビルドに失敗したり、良くわからない状況になったら以下のコマンドで全てを無かったことにしましょう。

sudo rm -rf /usr/local/bin/vim

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