在Linux Mint上使用lua构建Vim

nac*_*dus 4 vim lua build linux-mint

这就是我做的:

# Install lua
curl -R -O http://www.lua.org/ftp/lua-5.2.2.tar.gz
tar zxf lua-5.2.2.tar.gz
cd lua-5.2.2
sudo make linux install

# build vim
sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \
libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev ruby-dev mercurial
sudo apt-get remove vim vim-runtime gvim
sudo apt-get remove vim-tiny vim-common vim-gui-common
cd ~
hg clone https://code.google.com/p/vim/
cd vim
./configure --with-features=huge \
            --enable-rubyinterp \
            --enable-pythoninterp \
            --with-python-config-dir=/usr/lib/python2.7-config \
            --enable-perlinterp \
            --enable-gui=gtk2 --enable-cscope --prefix=/usr \
            --enable-luainterp \
            --with-lua-prefix=/usr/local/bin/lua
make VIMRUNTIMEDIR=/usr/share/vim/vim74
sudo make install
Run Code Online (Sandbox Code Playgroud)

./configure步骤返回:

checking --enable-luainterp argument... yes
checking --with-lua-prefix argument... /usr/local/bin/lua
checking --with-luajit... no
checking for lua... (cached) /usr/local/bin/lua
checking Lua version... (cached) 5.2
checking if lua.h can be found in /usr/local/bin/lua/include... no
checking if lua.h can be found in /usr/local/bin/lua/include/lua5.2... no
Run Code Online (Sandbox Code Playgroud)

我可以验证在那些位置找不到lua.h,但我不知道它在哪里可以找到.

nac*_*dus 8

编辑

我再次尝试了这个,遇到了问题,并发现了一个vim-nox已经有vim支持的软件包.

原始答案

我不完全确定我最终如何做到这一点,但感谢@wrikken关于标题的提示.

# Install lua from binaries (these are out-of-date but at least they worked).
sudo apt-get install lua50 liblua50-dev liblualib50-dev

# Remove old vims
sudo apt-get remove vim vim-runtime gvim
sudo apt-get remove vim-tiny vim-common vim-gui-common

# Download and build a new vim
sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \
libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev ruby-dev mercurial
cd ~
hg clone https://code.google.com/p/vim/
cd vim
cd ~/vim
./configure --with-features=huge \                                            
            --enable-rubyinterp \
            --enable-pythoninterp \
            --with-python-config-dir=/usr/lib/python2.7-config \
            --enable-perlinterp \
            --enable-gui=gtk2 --enable-cscope --prefix=/usr \
            --enable-luainterp \
            --with-lua-prefix=/usr/local
Run Code Online (Sandbox Code Playgroud)

此时,检查./configure的输出,看看它找到了lua.h. 如果没有,找出它的位置(恐怕我不记得它在哪里).使用例如sudo ln -s ../lua.h并重新运行./configure 在/ usr/local中对它进行符号链接.

最后:

sudo make VIMRUNTIMEDIR=/usr/share/vim/vim74       
sudo make install
Run Code Online (Sandbox Code Playgroud)

如果它仍然无法正常工作,请在某个地方的论坛上发帖,然后在户外散步.你会发现它突然开始表现.

  • 在我的debian wheezy安装中,这个文件位于`/ usr/include/lua50/lua.h`中.你可以使用`find/usr -name lua.h`找到它. (2认同)