vim で lua を使えるようにビルドしたメモ
ここでは Cygwin 上に構築するものとして説明します。
Lua の設定
まず、最新の Lua を以下よりダウンロードします。
本日時点で 5.2.2 です。僕は拙作の UTF-8 対応版(GitHub - satosystems/lua-5.2.2-utf8: Lua 5.2.2 with UTF-8)を使用しますが。
ダウンロードした ZIP を適当な場所に展開します。僕の場合は ~/Dropbox/Eclipse/lua-5.2.2-utf8 です。
Lua のビルドは以下のように行います。
$ cd ~/Dropbox/Eclipse/lua-5.2.2-utf8
$ make posix
これで Lua はビルドできるはずです。
次に環境変数を設定します。
.bash_profile に以下の行を追加し、先ほどビルドした lua と luac が実行できるようにします。
# for Lua if [ -d ${HOME}/Dropbox/Eclipse/lua-5.2.2-utf8/src ] ; then export PATH=${HOME}/Dropbox/Eclipse/lua-5.2.2-utf8/src:${PATH} fi
以下のように入力して Lua のバージョンが表示されれば設定成功です。
$ source ~/.bash_profile $ lua -v Lua 5.2.2 Copyright (C) 1994-2013 Lua.org, PUC-Rio
Vim のために以下の作業を行えば、Lua の設定は終わりです。
$ mkdir ~/Dropbox/Eclipse/lua-5.2.2-utf8/src/include $ cd ~/Dropbox/Eclipse/lua-5.2.2-utf8/src/include $ ln -s ../*.h .
これは Vim のビルドが --with-lua-prefix で指定した場所 + include という場所にヘッダがあることを前提に処理が進むためです。
Vim の設定
以下より最新の ZIP をダウンロードするか、Mercurial で最新のソースコードをクローンします。
私はクローンしました。クローンからビルドまでの手順はこんな感じです。
$ hg clone https://vim.googlecode.com/hg/ vim $ cd vim/src $ make distclean $ ./configure --enable-luainterp=yes --with-lua-prefix=/home/ogata/Dropbox/Eclipse/lua-5.2.2-utf8/src $ make
make がうまくいったら、その場で以下のように入力して +lua があることを確認します。
$ src/vim --version
ここで -lua になっている場合、手順のどこかが間違っています。
configure の出力の以下の lua の部分を見直してみてください。
checking --enable-luainterp argument... yes
checking --with-lua-prefix argument... /home/ogata/Dropbox/Eclipse/lua-5.2.2-utf8/src
checking for lua... /home/ogata/Dropbox/Eclipse/lua-5.2.1-utf8/src/lua
checking Lua version... 5.2
checking if lua.h can be found in /home/ogata/Dropbox/Eclipse/lua-5.2.2-utf8/src/include... yes
うまくいけば Vim 上から :lua で Lua スクリプトが実行できるようになります。
あとは、ビルドした vim が実行されるようにし、以下のようにシンボリックリンクを設定すれば完了です(本当はインストールした方が良いのでしょうけど)。
$ ln -s vim/runtime /usr/local/share/vim