[ 另: vim7.4源码在vs2013的编译方法 ]

1 安装libncurses5库:
apt-get install libncurses5-dev

2 安装gvim需要的库:
方法一: apt-get install libgnome2-dev libgnomeui-dev libgtk2.0-dev
libatk1.0-dev libbonoboui2-dev libcairo2-dev libx11-dev libxpm-dev
libxt-dev python-dev libperl-dev ruby-dev liblua5.1-0-dev
方法二: apt-get build-dep vim-gtk
(CentOS 用yum install安装相应的包)

3 下载VIM7.4
wget ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2
(For 7.3 and later, extra files and translations are included in
the "All" archive)
tar jxvf vim-7.4.tar.bz2

4 patches
cd vim74/ &&
mkdir patches &&
cd patches/ &&
wget ftp://ftp.vim.org/pub/vim/patches/7.4/*

cd .. &&
for file in patches/7.4.*; do
    patch -Np0 -i $file
done

cd ..

for ((i=1;i<=9;i++)); do
    patch -Np0 -i patches/7.4.00$i 
done
for ((i=10;i<=99;i++)); do
    patch -Np0 -i patches/7.4.0$i 
done
for ((i=100;i<=2361;i++)); do
    patch -Np0 -i patches/7.4.$i 
done

5 编译安装
echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h
&&
echo '#define SYS_GVIMRC_FILE "/etc/gvimrc"' >> src/feature.h
&&
./configure --prefix=/usr/local/vim74 --with-features=huge \
           
--enable-multibyte --enable-fontset --enable-xim \
           
--enable-pythoninterp --enable-perlinterp \
           
--enable-rubyinterp --enable-luainterp \
           
--enable-cscope --enable-sniff \
           
--enable-gui=gtk2 \
           
--with-compiledby="busor" &&
make &&
make install

ln -s /usr/local/vim74/bin/vim /usr/local/bin/vim &&
ln -s /usr/local/vim74/bin/vimtutor /usr/local/bin/vimtutor
&&
ln -s /usr/local/vim74/bin/gvimtutor /usr/local/bin/gvimtutor
&&
ln -s /usr/local/vim74/bin/xxd /usr/local/bin/xxd &&
ln -s vim /usr/local/bin/vi &&
ln -s vim /usr/local/bin/view &&
ln -s vim /usr/local/bin/vimdiff &&
ln -s vim /usr/local/bin/gvimdiff &&
ln -s vim /usr/local/bin/gview &&
ln -s vim /usr/local/bin/gvim

6 验证
vim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Mar 10 2014
15:56:53)
包含补丁: 1-193
编译者 busor
巨型版本 带 GTK2 图形界面。  可使用(+)与不可使用(-)的功能:
+acl            
+farsi          
+mouse_netterm   +syntax
+arabic         
+file_in_path   
+mouse_sgr      
+tag_binary
+autocmd        
+find_in_path   
-mouse_sysmouse  +tag_old_static
+balloon_eval   
+float          
+mouse_urxvt    
-tag_any_white
+browse         
+folding        
+mouse_xterm    
-tcl
++builtin_terms 
-footer         
+multi_byte     
+terminfo
+byte_offset    
+fork()         
+multi_lang     
+termresponse
+cindent        
+gettext        
-mzscheme       
+textobjects
+clientserver   
-hangul_input   
+netbeans_intg   +title
+clipboard      
+iconv          
+path_extra     
+toolbar
+cmdline_compl  
+insert_expand  
+perl           
+user_commands
+cmdline_hist   
+jumplist       
+persistent_undo +vertsplit
+cmdline_info   
+keymap         
+postscript     
+virtualedit
+comments       
+langmap        
+printer        
+visual
+conceal        
+libcall        
+profile        
+visualextra
+cryptv         
+linebreak      
+python         
+viminfo
+cscope         
+lispindent     
-python3        
+vreplace
+cursorbind     
+listcmds       
+quickfix       
+wildignore
+cursorshape    
+localmap       
+reltime        
+wildmenu
+dialog_con_gui 
+lua            
+rightleft      
+windows
+diff           
+menu           
+ruby           
+writebackup
+digraphs       
+mksession      
+scrollbind     
+X11
+dnd            
+modify_fname   
+signs          
-xfontset
-ebcdic         
+mouse          
+smartindent    
+xim
+emacs_tags     
+mouseshape     
+sniff          
+xsmp_interact
+eval           
+mouse_dec      
+startuptime    
+xterm_clipboard
+ex_extra       
-mouse_gpm      
+statusline     
-xterm_save
+extra_search   
-mouse_jsbterm  
-sun_workshop   
+xpm
    
系统 vimrc 文件: "/etc/vimrc"
    
用户 vimrc 文件: "~/.vimrc"
 第二用户 vimrc 文件: "~/.vim/vimrc"
     
用户 exrc 文件: "~/.exrc"
    系统 gvimrc
文件: "/etc/gvimrc"
    用户 gvimrc
文件: "~/.gvimrc"
第二用户 gvimrc 文件: "~/.vim/gvimrc"

Debian7编译VIM7.4的更多相关文章

  1. [VIM插件]fedora22编译vim7.4对perl组件支持的问题

    在fedora22下,重新编译安装vim7.4的时,在编译perl组件支持时,出现如下错误: /bin/perl -e 'unless ( $] >= 5.005 ) { for (qw(na ...

  2. debian7编译安装tengine添加lua和ldap模块

    1.安装开发环境 # aptitute update # aptitude install -y build-essential # aptitude install -y libldap2-dev ...

  3. debian7编译内核

    第一个步骤“配置内核”. 在这里,我比较建议在发行版默认的config的基础上再进行配置,这样 配置出的内核和发行版本身才会有更好的相容性.比如可以在运行“make menuconfig”之前执行命令 ...

  4. Ubuntu 12.04上编译Vim7.4的时候遇到“no terminal library found”问题

    错误如下: no terminal library foundchecking for tgetent()... configure: error: NOT FOUND!      You need ...

  5. debian7 编译qtopia错误解决案例

    问题: kernel/qjpegio.cpp:60:21: error: jpeglib.h: No such file or directory 解决 sudo apt-get install li ...

  6. centos 6.5 x64编译有python的vim7.4

    wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gzwget ftp://ftp.vim.org/pub/vim/extra/vim-7. ...

  7. linux下编译安装vim7.4并安装clang_complete插件

    linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...

  8. vim7.4官方源码在vs2013的编译方法及问题总结

    vim7.4发布也有一段时候了,也该是把之前编译的7.3重新编译一下了,于是考虑着到最新的visual studio 2013编译一下,也顺便看看有没有其它问题. 1.安装vs2013,这个应该不用说 ...

  9. VIM7.4 编译安装 开启python

    https://github.com/wklken/k-vim ./configure --prefix=/usr/local/vim74 \--with-features=huge \--enabl ...

随机推荐

  1. java ExecutorService

    ExecutorService 通常Executor对象会创建并管理一组执行Runnable对象的线程,这组线程被称为线程池,Executor基于生产者-消费者模式.提交任务的执行者是生产者(产生待完 ...

  2. paip.提升性能--多核cpu中的java/.net/php/c++编程

    paip.提升性能--多核cpu中的java/.net/php/c++编程 作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http ...

  3. paip.python错误解决24

    paip.python错误解决 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/attilax ...

  4. golang开发缓存组件

    代码地址github:cache 花了一天时间看了下实验楼的cache组件,使用golang编写的,收获还是蛮多的,缓存组件的设计其实挺简单的,主要思路或者设计点如下: 全局struct对象:用来做缓 ...

  5. exe文件添加为服务

    首先,去下载一个叫rktools.exe的工具(我提供个下载地址Windows 2003 Resource Kits),下载完后安装该资源包,里面有个instsrv.exe和srvany.exe的工具 ...

  6. salesforce 零基础学习(十七)Trigger用法

    看本篇之前可以相应阅读以下Trigger相关文章: 1.https://developer.salesforce.com/page/Trigger_Frameworks_and_Apex_Trigge ...

  7. KnockoutJS 3.X API 第三章 计算监控属性(1) 使用计算监控属性

    计算监控属性(Computed Observables) 如果你有一个监控属性firstName,和另一个lastName,你要显示的全名?可以使用计算监控属性来实现-它依赖于一个或多个其他监控属性, ...

  8. Java 线程 — ConcurrentLinkedQueue

    ConcurrentLinkedQueue 在考虑并发的时候可以先考虑单线程的情况,然后再将并发的情况考虑进来. 比如ConcurrentLinkedQueue: 先考虑单线的offer 再考虑多线程 ...

  9. 开发工程师面试的秘密( 整理自 Export C Programming )

    开发工程师面试的秘密 因为打算转战linux平台,所以一直在配置自己喜欢的linux操作系统.同时在看那本<C 专家编程>,这本书主要是针对ANSI C 介绍的,所以和Linux(Unix ...

  10. Javascript函数中的高级运用

    先介绍一下js中的高阶函数,所谓的高阶函数就是,一个函数中的参数是一个函数或者返回的是一个函数,就称为高阶函数. js中已经提高了一下高阶函数,使用起来非常棒,当然我们也可以自己实现,我介绍几种ES5 ...