文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

编译VIM

2023-01-31 08:21

关注

编译VIM最麻烦的只有一个问题:
各个语言的位置和开发库的位置

注意:语言本身的位置好说,但是dev开发库就不一样了。
比如,一般我们本机只安装python,而不会安装python-dev。这是两个完全不一样的概念。第一个我们直接使用的语言,第二个是本机编译、开发能够引用的开发lib库。
所以,根据语言支持的需要,我们要安装这些开发库:

  • python-dev
  • python3-dev
  • ruby-dev
  • perl-dev
  • lua-dev
  • libncurses5-dev

如果安装好这些依赖,且明白各自的位置后,剩下的VIM编译是超级简单的。
如果编译出现问题,也绝对是这些位置出现了问题。

树莓派编译VIM包括Python/Lua/Ruby/Perl支持

# 下载源码
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

Mac编译VIM包括Python/Lua/Ruby/Perl支持

# 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的话:

brew install lua

然后仔细查看lua路径,一般是/usr/local/Cellar/lua*,把它替换到configure的参数中去。

如果Python没有配置好的话,则到/usr/local/Cellar/python目录下搜索config-*文件:

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的参数中相应位置。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯