从源代码编译 Vim 8.0

从源代码编译 Vim 实际上并不那么困难。下面是你所要做的:

1、首先,安装包括 Git 在内的所有必备的库。对于一个 Debian 类的 Linux 发行版,例如 Ubuntu,命令如下:


  1. sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \
  2. libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
  3. libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev \
  4. python3-dev ruby-dev lua5.1 lua5.1-dev libperl-dev git

在 Ubuntu 16.04 上,lua 开发包的名称是 liblua5.1-dev 而非 lua5.1-dev

如果你知道你将使用哪种语言,可随意删去你不需要的包。例如:Python2 python-dev 或者是 Rubyruby-dev。这一原则适用于本文的大部分内容。

对于 Fedora 20,将是以下命令:


  1. sudo yum install -y ruby ruby-devel lua lua-devel luajit \
  2. luajit-devel ctags git python python-devel \
  3. python3 python3-devel tcl-devel \
  4. perl perl-devel perl-ExtUtils-ParseXS \
  5. perl-ExtUtils-XSpp perl-ExtUtils-CBuilder \
  6. perl-ExtUtils-Embed

在 Fedora 20 上需要这一步来纠正安装 XSubPP 时出现的问题:


  1. ### 从 /usr/bin 到 perl 目录做个 xsubpp (perl) 的符号链接
  2. sudo ln -s /usr/bin/xsubpp /usr/share/perl5/ExtUtils/xsubpp

2、 如果你已经安装了 vim,删掉它。


  1. sudo apt-get remove vim vim-runtime gvim

如果是 Ubuntu 12.04.2,你或许也需要同时删除下面这些软件包:


  1. sudo apt-get remove vim-tiny vim-common vim-gui-common vim-nox

3、 一旦上述内容都被安装好之后,获取 vim 源代码很容易。

注意:如果你使用 python,你的配置目录或许有一个特定的机器名 (例如 config-3.5m-x86_64-linux-gnu)。检查 /usr/lib/python[2/3/3.5] 目录来找到你的 python 配置目录,据此更改 python-config-dir 和/或 python3-config-dir的参数。

添加/删除下面的编译参数以适合您的设置。例如,如果您不打算写任何 Lua 脚本,您可以删去 enable-luainterp

同时,如果你使用的不是 vim 8.0,请确认下面 VIMRUNTIMEDIR 参数设置正确(例如,如果使用 vim 8.0a, 就用 /usr/share/vim/vim80a)。记住,一些 vim 安装是直接安装在 /usr/share/vim 下的;调整好参数以适应你的系统:


  1. cd ~
  2. git clone https://github.com/vim/vim.git
  3. cd vim
  4. ./configure --with-features=huge \
  5. --enable-multibyte \
  6. --enable-rubyinterp=yes \
  7. --enable-pythoninterp=yes \
  8. --with-python-config-dir=/usr/lib/python2.7/config \
  9. --enable-python3interp=yes \
  10. --with-python3-config-dir=/usr/lib/python3.5/config \
  11. --enable-perlinterp=yes \
  12. --enable-luainterp=yes \
  13. --enable-gui=gtk2 --enable-cscope --prefix=/usr
  14. make VIMRUNTIMEDIR=/usr/share/vim/vim80

在 Ubuntu 16.04 上,由于同时开启了 Python2 和 Python3,Python 支持将不工作。 阅读 chirinosky 的回答 以获取变通的处理方法。

如果你想将来轻松卸载 vim,可以使用 checkinstall 来安装 。


  1. sudo apt-get install checkinstall
  2. cd ~/vim
  3. sudo checkinstall

否则,可以使用 make 来安装。


  1. cd ~/vim
  2. sudo make install

要让 vim 成为你默认的编辑器,请使用 update-alternatives


  1. sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim 1
  2. sudo update-alternatives --set editor /usr/bin/vim
  3. sudo update-alternatives --install /usr/bin/vi vi /usr/bin/vim 1
  4. sudo update-alternatives --set vi /usr/bin/vim

4、 再检查下,通过查看 vim --version 输出来确认确实在运行新的 Vim 应用程序版本。

如果你的 gvim 不工作(在 ubuntu 12.04.1 LTS 上),试着把 --enable-gui=gtk2 参数变为 --enable-gui=gnome2

如果你遇到问题,仔细检查在步骤 3 开始提到的,使用正确的 Python 配置目录配置 configure

这些 configure 和 make 命令假设你是一个 Debian 发行版,Vim 的运行库文件目录放在/usr/share/vim/vim80/,这不是 vim 的默认路径。 在 configure 命令中的 --prefix=/usr 也是如此。这些参数或许对一个不是基于 Debian 的 Linux 发行版来说是有所不同的,在这种情况下,试着移除 configure 命令中的 --prefix 变量和 make 命令中的 VIMRUNTIMEDIR (换句话说,使用这些参数的默认值)。

原文发布时间为:2017-01-06

本文来自合作伙伴“Linux中国”

时间: 2024-11-03 06:25:14

从源代码编译 Vim 8.0的相关文章

如何从源代码一步步编译Vim 8.0

从源代码编译 Vim 实际上并不那么困难.下面是你所要做的: 1.首先,安装包括 Git 在内的所有必备的库.对于一个 Debian 类的 Linux 发行版,例如 Ubuntu,命令如下: sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \      libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \      libcairo2-dev libx11-dev libx

CentOS 6.4+nginx-1.4.4+php-5.5.8(php-fpm)+mysql-5.6.15+xcache-3.1.0+memcache-2.2.7源代码编译安装指南

风信网(ithov.com)原创文章:本文将向大家讲解关于CentOS 6.4 X64位系统源代码编译安装nginx-1.4.4+php-5.5.8(php-fpm)+mysql-5.6.15+xcache-3.1.0+memcache-2.2.7的详细过程,希望能帮助大家解决生产环境中的环境配置问题. 安装需要支持的库文件 [root@localhost mysql-5.6.15]# yum install pcre [root@localhost mysql-5.6.15]# yum ins

linux下apache+mysql+php开发环境纯源代码编译搭建

apache|mysql|编译|源代码 记录一下我在fedora core 1下通过源代码编译出来的apache+mysql+php开发环境的全部过程 通常安装一台服务器当然使用rpm是最方便的,不需要考虑太多配置的问题,就可以轻松获得需要的环境了.不过rpm包互相关联的问题也不是这么容易解决. apache,mysql,php这三个应用从源代码编译安装还是比较简单的,配置参数不算复杂,而且没有太多的依赖关系,从源码编译出来的系统也比较稳定一些,方便未来打补丁和升级工作. 编译安装的前提是,系统

题二 源代码编译:拓扑排序

一.题目 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在网易游戏的日常工作中,C++ 是一门常用的语言.面对众多的 C++ 代码,等待源文件编译的漫长时间是个令人糟心的时刻,一直以来大家对此怨声载道.终于有一天,大家找到了你,一位优秀的程序员,请你来帮忙分析一下编译速度的瓶颈. 经过一番调查和研究,你发现一些源代码之间是有依赖关系的.例如,某个源文件 a.cpp 编译链接生成了动态链接库 a.dll,而 b.cpp 编译链接生成的 b.dll 依赖于 a.dll

《深入分析GCC 》——3.3 GCC源代码编译

3.3 GCC源代码编译 在获得了GCC的源代码后,为了生成目标机器上的编译器程序,需要对源代码进行编译,一般步骤包括: (1)使用conf?igure脚本完成编译配置,生成Makef?ile文件. (2)使用make工具编译源代码. (3)使用make工具安装生成的编译程序等. 使用的典型脚本为: ./configure make make install 3.3.1 配置 这个过程一般很简单,可以直接在${GCC_SOURCE}目录下使用命令./conf?igure.该脚本会对GCC源代码编

c++-网上下载的duilib源代码编译报错,新手求问如何检查。

问题描述 网上下载的duilib源代码编译报错,新手求问如何检查. 下载的是SVN364.先说下错误吧,报错如下: >C:Program Files (x86)Windows Kits8.1Includeumdispex.h(791): error C2011: "ICanHandleException":"struct"类型重定义 1> f:duilibduilib-svn364-20121126svn364duilibUtils/flash11.tl

《OpenStack实战指南》—— 2.2 在Ubuntu上使用源代码编译安装

2.2 在Ubuntu上使用源代码编译安装 对于各个版本的Linux来说,都会制作OpenStack相应的软件包.虽然在2.1节中介绍了二进制包安装,但是在这里笔者还是会讲一下源代码安装OpenStack基本组件的过程,因为从学习的角度来说,通过源代码安装OpenStack各个组件的过程,可以使读者对OpenStack的框架和各个组件的作用有一个比使用二进制安装更全面的了解.另一个好处是,二进制包的发布会滞后于源代码,如果想在第一时间尝试一些最新的功能或修复Bug后的版本,源代码安装是个不错的选

《深入理解Android:Telephony原理剖析与最佳实践》一第2章 搭建Android源代码编译环境

第2章 搭建Android源代码编译环境 第1章介绍了Android以及其Telephony功能模块的基本结构,在本章中将带着读者去搭建Android编译环境.即使你已经能够在自己计算机上成功编译Android源代码了,也希望你能阅读本章内容,因为本章不乏一些技巧的总结和Android相关实用工具使用方法的介绍. Android的编译环境作为深入学习Android的基础,不可缺失,能够成功下载Android源代码并编译成功,对深入学习Android是非常关键和重要的一步:Android环境搭建比

Vim 8.0 取得不错进展

早在今年4月宣布 Vim 8.0 的特性的时候,Vim 7.4.1689 中就已经初步实现 8.0的几大重要特性的实现了,经过了 3个月的稳定,共计修复了 323项缺陷,到如今的 7.4.2012 中,所有功能基本都已经准备就绪,Vim 8.0 正在做最后的收尾工作,接下来将以一个新 tag的形式发布出来. Vim 的作者 Bram Moolenaar 说道:"在过去的几个月中 Vim 8.0 的所有新功能都已经被实现并稳定,包括异步通信,任务系统,时钟系统等.大量报上来的 BUG也被逐一解决.