hiiragi's ブログ

主にコンピュータ関係の備忘録を書いてます

WSL(Ubuntu 16.04)でVimをビルドする

Ubuntuでも+luaを使いたかったのでVimのビルドを試したら簡単にできた。

環境

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.5 LTS
Release:        16.04
Codename:       xenial

手順

apt sources.listの更新 (deb-srcの追加)

$ sudo vim /etc/apt/sources.list
# 以下を追加
deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial main restricted universe multiverse
deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial-security main restricted universe multiverse
$ sudo apt update -y

ビルドに必要なパッケージのインストール

$ sudo apt build-dep vim
# => deb-src追加前はエラーが出たけど、
#   deb-src追加後はインストール確認が表示された

$ sudo apt install luajit libluajit-5.1
$ dpkg -l luajit
$ dpkg -l libluajit*

ソースコードの取得

$ git clone https://github.com/vim/vim.git
$ cd vim
$ git checkout v8.1.0541

ビルド・インストール

$ cd src
$ ./configure \
  --enable-fail-if-missing \
  --disable-darwin \
  --disable-xsmp \
  --disable-xsmp-interact \
  --enable-luainterp=dynamic \
  --enable-perlinterp=dynamic \
  --enable-pythoninterp=dynamic \
  --enable-python3interp=dynamic \
  --enable-tclinterp=dynamic \
  --enable-rubyinterp=dynamic \
  --enable-cscope \
  --disable-netbeans \
  --enable-terminal \
  --enable-multibyte \
  --disable-gtktest \
  --disable-icon-cache-update \
  --disable-desktop-database-update \
  --disable-sysmouse \
  --with-compiledby=s_hiiragi \
  --with-luajit
$ make
# 野良ビルドはporgで管理しているが使わなくてもOK
$ sudo porg -lp vim make install
# シェルが記憶しているコマンドのパス情報をクリアする
$ hash -r
$ vim --version
# => "Compiled by s_hiiragi"が表示された
#   +lua/dyn, +terminal, +job, +channel, +timers が有効になっている

aptで入れたvimのアンインストール

$ sudo apt purge vim

:!コマンドが動くようにする

$ echo "export SHELL=/bin/bash" >> ~/.profile

参考