编译VIM最麻烦的只有一个问题:
各个语言的位置和开发库的位置
。python
注意:语言自己的位置好说,可是dev
开发库就不同了。
好比,通常咱们本机只安装python
,而不会安装python-dev
。这是两个彻底不同的概念。第一个咱们直接使用的语言,第二个是本机编译、开发可以引用的开发lib库。
因此,根据语言支持的须要,咱们要安装这些开发库:linux
若是安装好这些依赖,且明白各自的位置后,剩下的VIM编译是超级简单的。
若是编译出现问题,也绝对是这些位置出现了问题。git
# 下载源码 cd /tmp wget https://github.com/vim/vim/archive/v8.1.0561.tar.gz tar -xzvf v8.1.0561.tar.gz cd vim-8.1.0561 # 下载语言支持的开发库(和本机的各类语言使用无关) sudo apt-get install -y libncurses5-dev liblua5.3-dev libperl-dev python-dev python3-dev ruby-dev # 定义各个语言的开发库位置 # 修复lua位置 sudo mv $(which lua) "$(which lua)_old" sudo ln -s /usr/bin/lua5.3 /usr/bin/lua sudo ln -s /usr/include/lua5.3 /usr/include/lua sudo ln -s /usr/lib/arm-linux-gnueabihf/liblua5.3.so /usr/local/lib/liblua.so # 修复python位置 sudo ln -s /usr/lib/python2.7/config-arm-linux-gnueabihf /usr/lib/python2.7/config sudo ln -s /usr/lib/python3.4/config-3.4m-arm-linux-gnueabihf /usr/lib/python3.4/config # Build ./configure \ --prefix=/opt/vim-8.1 \ --enable-gui=auto \ --enable-luainterp \ --enable-python3interp \ --enable-pythoninterp=dynamic \ --enable-perlinterp=dynamic \ --enable-rubyinterp=dynamic \ --enable-cscope \ --enable-multibyte \ --enable-fontset \ --enable-largefile \ --enable-fail-if-missing \ --with-features=huge \ --with-python-config-dir=/usr/lib/python2.7/config \ --with-python3-config-dir=/usr/lib/python3.4/config \ --disable-netbeans && \ echo '[ OK ]' make && sudo make install && echo '[ OK ]' # 将旧版本的vim替换 sudo mv $(which vim) "$(which vim)_old" sudo ln -s /opt/vim-8.1/bin/vim /usr/bin/vim
# Download cd /tmp wget https://github.com/vim/vim/archive/v8.1.0561.tar.gz tar -xzvf v8.1.0561.tar.gz cd vim-8.1.0561 # Build ./configure \ --prefix=/opt/vim-8.1 \ --enable-multibyte \ --enable-perlinterp=dynamic \ --enable-rubyinterp=dynamic \ --with-ruby-command=/usr/local/bin/ruby \ --enable-pythoninterp=dynamic \ --with-python-config-dir=/usr/lib/python2.7/config \ --enable-python3interp \ --with-python3-config-dir=/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/config-3.7m-darwin \ --enable-luainterp \ --with-lua-prefix=/usr/local/Cellar/lua/5.3.5_1 \ --enable-cscope \ --enable-gui=auto \ --with-features=huge \ --enable-fontset \ --enable-largefile \ --disable-netbeans \ --enable-fail-if-missing && \ echo '[ OK ]' make && sudo make install && echo '[ OK ]'
若是本机没有lua的话:github
brew install lua
而后仔细查看lua路径,通常是/usr/local/Cellar/lua*
,把它替换到configure的参数中去。vim
若是Python没有配置好的话,则到/usr/local/Cellar/python
目录下搜索config-*
文件:ruby
find /usr/local/Cellar/python -name "config-*"
而后我获得的是/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/config-3.7m-darwin
。把它替换到configure的参数中相应位置。python2.7