Windows

Mac

Linux

CentOSでpyenvを利用してビルドする方法。

yumで必要なものインストールする。

$ sudo yum -y install git

# for pyenv
$ sudo yum -y install bzip2-devel openssl-devel readline-devel sqlite-devel zlib-devel

# for vim
$ sudo yum -y install gcc make ncurses-devel
$ sudo yum -y install perl-devel perl-ExtUtils-Embed
$ sudo yum -y install ruby-devel
$ sudo yum -y install python-devel
$ sudo yum -y install lua-devel

vimで使う用のpythonをpyenvでインストールする1

2系と3系でインストールできるバージョンを確認する。

$ pyenv install --list

最新版(ここでは2.7.13と3.6.1)を以下のようにしてインストールする。

$ CONFIGURE_OPTS="--enable-shared" pyenv install 2.7.13
$ CONFIGURE_OPTS="--enable-shared" pyenv install 3.6.1

ここで--enable-sharedのオプションを付けたのは共有ライブラリを作るため。 VimでPythonの2, 3系を共存するには動的リンクでVimをビルドする必要があり、そのために共有ライブラリが必要。 $HOME/.pyenv/versions/XXXX/lib/以下にlibpython2.x.so.1.0libpythonm3.xm.so.1.0があればOK。

pyenvでPythonのバージョンを設定する。

$ pyenv global 2.7.13 3.4.0

Vimのソースをgit cloneする。

$ git clone --depth 1 https://github.com/vim/vim.git ~/src/github.com/vim/vim
$ cd ~/src/github.com/vim/vim/src

以下のようにして./configureを実行する。ここではGUIは無しとした。

$ LDFLAGS="-Wl,-rpath=${HOME}/.pyenv/versions/2.7.13/lib:${HOME}/.pyenv/versions/3.4.0/lib" ./configure \
  --enable-fail-if-missing \
  --enable-luainterp \
  --enable-perlinterp \
  --enable-pythoninterp=dynamic \
  --enable-python3interp=dynamic \
  --enable-rubyinterp=yes \
  --enable-multibyte \
  --enable-fontset \
  --with-features=huge \
  --disable-gui \
  --without-x

インストール先を変更したい場合は--prefix=$HOME/localなどで変更する。

$ make

して、

$ srv/vim --version

+python/+python3-rpathを確認する。

OKなら

$ sudo make install

する。