How to build vim

1. Build步骤

git clone --depth   https://github.com/vim/vim.git  # download the source code
cd vim/src
make distclean # clean workspace if you build vim before
./configure --enable-pythoninterp --enable-rubyinterp --enable-python3interp \
--enable-perlinterp --enable-luainterp --with-compiledby --enable-tclinterp # can be ommited if do not used these features
make
sudo make install # install the build bin to system file path

注意
1) Build 之前可以先把旧版本的vim卸掉
sudo apt-get remove vim-common vim-gnome vim-runtime vim-tiny vim-gtk
2) 安装Build vim需要的依赖 (未确认不安装是否可以)
sudo apt-get build-dep vim (若有依赖问题用aptitude来解决)
3) 若提示需要安装ncurses,执行命令即可:sudo apt-get install libncurses-dev
4) 若需要安装到不同的目录(默认是/usr/local/bin),configure是加上参数 --prefix=/somewhere/else/than/usr/local

2. 如何确认Build成功呢:

1) 打开vim,界面显示 version 7.4.2161 (最新的版本号)
2) vim --version 检测版本号以及compile时间
    VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Aug  6 2016 16:04:21)
    ...
3) :version  同样检测版本号以及compile时间

version 7.4. (before)
version 7.4. (now)
version 7.4. (macvim)

最新版本不稳定,gvim会出现光标停留的问题,经测试,7.4.1655版本可以用。

3. 怎么制作deb安装包呢?

./configure        # 按上面的做法加上必要的参数
make # Build
sudo checkinstall -D
make install # create a deb and install to system (Updated)

它会在当前目录下生成一个*.deb的文件,然后也默认安装到系统中去了。copy到别的电脑,sudo dpkg -i *.deb就能安装vim了。

4. 一些感想
很开心,一直困扰我的gvim选择时丢掉最后一个字符的bug终于不存在了,还有,我终于学会怎么从源码Build vim了,这就意味着我可以随时保证我的vim是最新版本的,一旦有什么bug修复,我都能及时更新我的vim!

Refer to:
1. https://csdaixie.site/2017/build-pack-vim/

从源码Build vim以及打包.deb的更多相关文章

  1. vue打包时,assets目录 和static目录下文件的处理区别(nodeModule中插件源码修改后,打包后的文件应放在static目录)

    为了回答这个问题,我们首先需要了解Webpack如何处理静态资产.在 *.vue 组件中,所有模板和CSS都会被 vue-html-loader 及 css-loader 解析,并查找资源URL.例如 ...

  2. 从源码构建Vim

    从源码构建Vim 引言 事情是介样滴,因为我是个Vim 重度使用者了差不多.. 但在大部分系统上能安装到的或者自带的都是比较老的版本,可能是7.x 之类的.也或者是你需要使用到Vim 的某些特性或者功 ...

  3. 创作gtk源码级vim帮助文档 tags

    创作gtk源码级vim帮助文档 tags 缘由 那只有看到源码了.在linux源码上有个网站 http://lxr.linux.no /+trees, 可以很方面的查出相应版本的代码实现,gtk没有. ...

  4. 内核源码阅读vim+cscope+ctags+taglist

    杜斌博客:http://blog.db89.org/kernel-source-read-vim-cscope-ctags-taglist/ 武特博客:http://edsionte.com/tech ...

  5. neo4j源码分析1-编译打包启动

    date: 2018-03-22 title: "neo4j源码分析1-编译打包启动" author: "邓子明" tags: - 源码 - neo4j - 大 ...

  6. 庖丁解牛-----Live555源码彻底解密(RTP打包)

    本文主要讲解live555的服务端RTP打包流程,根据MediaServer讲解RTP的打包流程,所以大家看这篇文章时,先看看下面这个链接的内容; 庖丁解牛-----Live555源码彻底解密(根据M ...

  7. 源码编译vim

    目录 获取最新版 vim 源码 1 git仓库clone 2, 源码包下载,里面有各个版本的vim压缩包 vim 配置选项 配置示例 参考文章 tip 获取最新版 vim 源码 1 git仓库clon ...

  8. Android : 修改内核源码 and 编译、打包成新的boot.img

    一.Android内核源码的下载: 1.Google GIT地址: $ git clone https://android.googlesource.com/kernel/common.git $ g ...

  9. 记一次UE4源码编译和游戏项目打包过程

    1.首先我们需要注册一个Epic账户,网址如下 http://api.unrealengine.com/CHN/GettingStarted/Installation/index.html#bookm ...

随机推荐

  1. DIP、IoC、DI以及IoC容器

    深入理解DIP.IoC.DI以及IoC容器 摘要 面向对象设计(OOD)有助于我们开发出高性能.易扩展以及易复用的程序.其中,OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC.D ...

  2. cefsharp实现javascript回调C#方法

    在构建完WebView webView = new WebView(url)后,即可调用RegisterJsObject方法来注册一个js对象,从而前端的javascript就可以访问这个对象,调用定 ...

  3. 【欧拉计划4】Largest palindrome product

    欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/1371281760.html 原创:[欧 ...

  4. twisted学习笔记 No.2 WebServer

    原创博文,转载请注明出处. 当服务器接收到一个客户端请求后,会创建一个请求对象并传递到资源系统,资源系统会根据请求路径分发到相应的资源对象,资源被要求渲染自身并返回结果到客户端. 解析HTTP Req ...

  5. 应用内支付(IAP)可加入三方支付

    Windows Phone 放开政策 - 应用内支付(IAP)可加入三方支付   Windows Phone 应用商店在 今年(2013)11月04号 修改了商店政策 允许公司账户的应用使用三方支付S ...

  6. JSON.NET基本使用

    序列化一个对象 public static string ToJson( object obj) { string json = JsonConvert .SerializeObject(obj); ...

  7. IOS学习之路十(仿人人滑动菜单Slide-out Sidebar Menu)

    最近滑动菜单比较流行,像facebook和人人等都在使用滑动菜单,今天做了一个小demo大体效果如下: 这次用了一个开源的项目ECSlidingViewController这个也是一个挺著名的托管在G ...

  8. 用c#实现与飞环语音卡的交互

    现在很多企业都采用freeswitch搭建的软交换来实现通话,主要优势成本低吞吐量大,但是语音卡的通话质量还是瑞胜一筹. 去年有机会在朋友公司里帮忙开发与软交换交互的上层服务及接口,在开发过程中稍微研 ...

  9. 在路由器上搭建SVN服务器

    在路由器上搭建SVN服务器 SVN托管服务大家都不陌生了,我最早开始用的是谷歌提供的SVN,因为在上面托管的项目都是开源的,所以当有些项目不方便在网上公开的时候,就需要自己搭建SVN服务器了.wind ...

  10. #2006 - MySQL server has gone away 问题解决方法 (全) (转)

    #2006 - MySQL server has gone away 问题解决方法 原文地址:http://www.cnblogs.com/bisonjob/archive/2009/08/18/15 ...