[ 另: 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. MVVM架构~knockoutjs系列之为validation.js扩展minLength和maxLength

    返回目录 为什么要对minLength和maxLength这两个方法进行扩展呢,是因为这样一个需求,在用户注册时,可以由用户自己决定他们输入的字符,中文,英文,数字均可,这样做了之后,使用户的体验更好 ...

  2. 知方可补不足~SqlServer连接的复用MultipleActiveResultSets

    回到目录 MultipleActiveResultSets可以使数据库连接复用,但当你上了moebius这种集群工具后,这个选项不能开启(默认是false),当你使用EF等ORM工具时,这个选项会默认 ...

  3. 可能是一场很 IN 的技术分享

    从去年的 Swift 到今年的 iOS 9,每一个新的技术.新的设备都"紧紧牵动 iOS 开发者的心". 好在有这样一群开发者,他们乐于第一时间尝试.挑战并分享. 有一类开发者他们 ...

  4. Android 代码混淆之部分类不混淆的技巧

    在编写Android程序之后,我们通常要代码进行混淆编码,这样才能保证市场上我们的应用不会被别人进行反编译,然后破解,所以此时需要在发布正式版本的时候,有一些类事不能混淆的,比如实现了 Seriali ...

  5. 学习ASP.NET MVC(八)——“Code First Migrations ”工具

    在本篇文章中,我们学习如何使用实体框架的“Code First Migrations ”(也称为代码先行功能)工具,使用其中的“迁移”功能对模型类进行一些修改,同时同步更新对应数据库的表结构. 默认情 ...

  6. Tomcat源码解读系列(一)——server.xml文件的配置

    Tomcat是J2EE开发人员最常用到的开发工具,在Java Web应用的调试开发和实际部署中,我们都可以看到Tomcat的影子.大多数时候,我们可以将Tomcat当做一个黑盒来看待,只需要将编写的J ...

  7. tabs左右滚动

    $(function () { //IdivLeft小于0,说明左边还有菜单,菜单总数大于8 //IdivLeft等于0,说明菜单总数小于8 //IdivLeft大于0,说明右边还有菜单,菜单总数大于 ...

  8. Lock VS Monitor

    Lock Monitor   多线程操作的时候,为防止死锁,我们经常采用加Lock的方式解决,下面就谈一下Lock的具体运用和Lock可以用什么来替换 首先,看代码: private static o ...

  9. 学习bootstrap遇到的问题--001 关于bootstrap中类.disabled不禁用默认行为

    自学bootstrap遇到的疑惑篇: 按钮状态--禁用 在Bootstrap框架中,要禁用按钮有两种实现方式: 方法1:在标签中添加disabled属性 方法2:在元素标签中添加类名"dis ...

  10. 贪心算法-Huffman编码

    伪代码: 例子: