Building Vim from source(转)
Compiling Vim from source is actually not that difficult. Here's what you should do:
First, install all the prerequisite libraries, including Git. For a Debian-like Linux distribution like Ubuntu, that would be the following:
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 \
python3-dev ruby-dev lua5.1 lua5.1-dev libperl-dev gitOn Ubuntu 16.04,
liblua5.1-dev
is the lua dev package name notlua5.1-dev
.(If you know what languages you'll be using, feel free to leave out packages you won't need, e.g. Python2
python-dev
or Rubyruby-dev
. This principle heavily applies to the whole page.)For Fedora 20, that would be the following:
sudo yum install -y ruby ruby-devel lua lua-devel luajit \
luajit-devel ctags git python python-devel \
python3 python3-devel tcl-devel \
perl perl-devel perl-ExtUtils-ParseXS \
perl-ExtUtils-XSpp perl-ExtUtils-CBuilder \
perl-ExtUtils-EmbedThis step is needed to rectify an issue with how Fedora 20 installs XSubPP:
# symlink xsubpp (perl) from /usr/bin to the perl dir
sudo ln -s /usr/bin/xsubpp /usr/share/perl5/ExtUtils/xsubppRemove vim if you have it already.
sudo apt-get remove vim vim-runtime gvim
On Ubuntu 12.04.2 you probably have to remove these packages as well:
sudo apt-get remove vim-tiny vim-common vim-gui-common vim-nox
Once everything is installed, getting the source is easy.
Note: If you are using Python, your config directory might have a machine-specific name (e.g.
config-3.5m-x86_64-linux-gnu
). Check in /usr/lib/python[2/3/3.5] to find yours, and change thepython-config-dir
and/orpython3-config-dir
arguments accordingly.Note for Ubuntu 14.04 (Trusty) users: You can only use Python 2 or Python 3. If you try to compile vim with both
python-config-dir
andpython3-config-dir
, it will give you an errorYouCompleteMe unavailable: requires Vim compiled with Python (2.6+ or 3.3+) support
.Add/remove the flags below to fit your setup. For example, you can leave out
enable-luainterp
if you don't plan on writing any Lua.Also, if you're not using vim 8.0, make sure to set the VIMRUNTIMEDIR variable correctly below (for instance, with vim 8.0a, use /usr/share/vim/vim80a). Keep in mind that some vim installations are located directly inside /usr/share/vim; adjust to fit your system:
cd ~
git clone https://github.com/vim/vim.git
cd vim
./configure --with-features=huge \
--enable-multibyte \
--enable-rubyinterp=yes \
--enable-pythoninterp=yes \
--with-python-config-dir=/usr/lib/python2.7/config \
--enable-python3interp=yes \
--with-python3-config-dir=/usr/lib/python3.5/config \
--enable-perlinterp=yes \
--enable-luainterp=yes \
--enable-gui=gtk2 \
--enable-cscope \
--prefix=/usr/local
make VIMRUNTIMEDIR=/usr/local/share/vim/vim80On Ubuntu 16.04, Python support was not working due to enabling both Python2 and Python3. Read answer by chirinosky for workaround.
In practice, Python2 and Python3 are not working at the same time on Ubuntu 14.04.5 LTS. Choosing one of them is OK.
If you want to be able to easily uninstall vim use
checkinstall
.sudo apt-get install checkinstall
cd ~/vim
sudo checkinstallOtherwise, you can use
make
to install.cd ~/vim
sudo make installSet vim as your default editor with
update-alternatives
.sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim 1
sudo update-alternatives --set editor /usr/bin/vim
sudo update-alternatives --install /usr/bin/vi vi /usr/bin/vim 1
sudo update-alternatives --set vi /usr/bin/vimDouble check that you are in fact running the new Vim binary by looking at the output of
vim --version
.If you don't get gvim working (on ubuntu 12.04.1 LTS), try changing
--enable-gui=gtk2
to--enable-gui=gnome2
If you have problems, double check that you
configure
d using the correct Python config directory, as noted at the beginning of Step 3.These
configure
andmake
calls assume a Debian-like distro where Vim's runtime files directory is placed in/usr/share/vim/vim80/
, which is not Vim's default. Same thing goes for--prefix=/usr
in theconfigure
call. Those values may need to be different with a Linux distro that is not based on Debian. In such a case, try to remove the--prefix
variable in theconfigure
call and theVIMRUNTIMEDIR
in themake
call (in other words, go with the defaults).If you get stuck, here's some other useful information on building Vim.
Building Vim from source(转)的更多相关文章
- Building QGIS from source - step by step(随笔3)
依赖包安装 在编译QGIS前分别需要利用cygwin和OSGeo4W 安装网站上的依赖库.分别需要安装的依赖库可以参考官网,此外对应版本的ygwin和OSGeo4W 也可以在网站上找到下载链接. ht ...
- Building QGIS from source - step by step(随笔2)
QT安装 在Windows上安装QGIS,首先需要安装VS,VS的版本根据需要的版本下载,注意QGIS版本与VS版本对应.另外QT下载安装也需要与VS版本的安装对应.本机系统装的VS10,对应QT版本 ...
- Building QGIS from source - step by step (开发文档翻译1)
1. 简介 原文网址:http://htmlpreview.github.io/?https://raw.github.com/qgis/QGIS/master/doc/INSTALL.html 本文 ...
- Increasing heap size while building the android source code on Ubuntu 15.10
http://stackoverflow.com/questions/34940793/increasing-heap-size-while-building-the-android-source-c ...
- Vim安装记录
Vim安装记录 参考链接 安装命令 1. 安装依赖库 2. 下载最新vim源码 3. 删除旧版vim 4. 配置configure.编译.安装 5. 设置vim为默认编辑器 6. 必要的配置 Vim安 ...
- 如何将vim打造成Linux下的source insight
编写者:龙诗科 邮箱:longshike2010@163.com 2016-01-06 众所周知,windows下的source insight是阅读项目代码的神器,其神奇之处在于可以根据当前鼠标所指 ...
- 源码安装Vim并配置YCM自动补全插件
Compiling Vim from source is actually not that difficult. Here's what you should do: 1. Install all ...
- 跟我一起学习VIM
跟我一起学习VIM - The Life Changing Editor 前两天同事让我在小组内部分享一下VIM,于是我花了一点时间写了个简短的教程.虽然准备有限,但分享过程中大家大多带着一种惊叹 ...
- vim快捷键整理(转载)
一.移动光标 1.左移h.右移l.下移j.上移k2.向下翻页ctrl + f,向上翻页ctrl + b3.向下翻半页ctrl + d,向上翻半页ctrl + u4.移动到行尾$,移动到行首0(数字), ...
随机推荐
- 从Windows复制文件到Linux显示乱码问题
(1).文件名乱码 这并不是所有人都会碰到的问题,一般常见于使用putty的用户.使用convmv命令可以解决这个问题. 我写详细一点还原真实场景,首先我来上传一个测试文件“a此文件在windows下 ...
- 对Webservice的理解
eb Service使用的是 SOAP (Simple Object Access Protocol)协议 soap协议只是用来封装消息用的.封装后的消息你可以通过各种已有的协 ...
- JDBC 编程初步
JDBC 概述 什么是JDBC 是一种用于执行SQL语句的Java API,它由一组用Java语言编写的类和接口组成,JDBC提供了一种操作数据的标准,JDBC的目标是使Java程序员使用JDBC可以 ...
- 【状压dp】Most Powerful
[ZOJ3471]Most Powerful Time Limit: 2 Seconds Memory Limit: 65536 KB Recently, researchers on Ma ...
- Problem F: 程序填充(函数、指针):去数组负数
#include <stdio.h> void f(int *a,int *m) { int i,j; ;i < *m;i++) ) { ;j++) a[j]=a[j+]; (*m) ...
- Problem Z: 百鸡问题
#include <stdio.h> int main() { int i, j, k; ; i <= ; i++ ) ; j <= ; j++ ) ; k <= ; k ...
- C#中的Stack
Stack(栈) 是一种先进后出的对象集合,它是一个泛型,所表示的类型可以为int,string这样的常见类型,也可以为用户自定义类型. 属性 描述 Count 获取 Stack 中包含的元素个数. ...
- 【fastJSON】利用fastJSON处理循环引用的问题
下载fastJSON jar com.alibaba.fastjson 第一种:[写死的] 将需要序列化的字段传递进去,得到结果 //需要序列化的实体+字段 SimplePropertyPreFi ...
- 【SQL Sever】安装过程
下载了sql sever,如下: 首先把iso解压,如下: 1.点击 2.打开页面后 3. 接下来直接下一步下一步 完成之后,需要重启计算机才能使用! 4. 重启之后,进入配置工具 将所有的端口号更改 ...
- palm os
在3G展会上,Palm将告别Palm OS操作系统 2009年2月12日消息,据国外媒体报道,周三,Palm CEO埃德•科林根(Ed Colligan)在旧金山的一个投资者会议上表示,Palm将告别 ...