Fork me on GitHub
Suzf  Blog

How-to compile vim with lua

vim 重新编译支持lua

安装依赖包
yum install ncurses lua lua-devel readline -y

安装LuaJit
luajit不在centos的官方repo里面,我们需要编译安装;
wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz
tar -xzvf LuaJIT-2.0.4.tar.gz
cd LuaJIT-2.0.4
make && make install

下载源码
wget ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2
tar xzvf vim-7.4.tar.bz2
cd vim74

编译
vim的编译其实很简单,就configure -> make -> make install 这样的流程。
但是要添加 Lua支持,就有一些麻烦了。
configure的配置大概是这样的:
./configure --prefix=/usr/local/vim74 --with-features=huge --with-luajit --enable-luainterp=yes --enable-fail-if-missing
# 如果你的机器没有安装lua 和luajit的话会在检查lua支持那里中断了。
# make && make install

运行
# /usr/local/vim74/bin/vim
/usr/local/vim74/bin/vim: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory

# 显然是安装的luajit有问题。我们找一下luajit这个.so文件在哪里
# find / -name libluajit-5.1.so.2
/usr/local/lib/libluajit-5.1.so.2
^C

# 我们需要给这个libluajit-5.1.so.2生成一个软链接
# ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.2

这样再运行vim就不会有问题了~也有Lua支持了
#/usr/local/vim74/bin/vim  --version | grep lua
+dialog_con      +lua             +rightleft       +windows
Linking: gcc   -L/usr/local/lib -Wl,--as-needed -o vim    -lSM -lICE -lXpm -lXt -lX11 -lSM -lICE  -lm -ltinfo -lelf -lnsl  -lselinux  -L/usr/lib -lluajit-5.1

mv /usr/bin/vim{,.old}
cp ~/vim74/src/vim /usr/bin

Reference:
- http://www.cnblogs.com/spch2008/p/4593370.html
- http://blog.wuxu92.com/z-compile-vim-with-lua-support-in-centos-7/