CentOS 6.6 64bit上默认的vim版本是7.2 minimal,通过下面的命令查看
yum list installed | grep vim
我打算将其卸载并重新安装官网最新版vim 7.4, 假设下面的操作都使用root权限进行
本次基于源码安装的vim 7.4要求具有如下特色:
(1)支持python/lua/perl/ruby/X11等
(2)同时支持python 2.7和python3.5两种版本
(3)尽量在CentOS 6.6原有软件基础上改造,仅将默认python 2.6升级到python 2.7,安装了ruby,其它的lua,perl都是遵从原来的版本

1.卸载自带vim
yum remove vim vim-enhanced vim-common vim-minimal

2.下载并解压vim-7.4
wget ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2  
wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gz
wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-lang.tar.gz
tar jxvf vim-7.4.tar.bz2  
tar zxvf vim-7.2-extra.tar.gz  
tar zxvf vim-7.2-lang.tar.gz  
mv vim72 vim74

3.安装编译环境所依赖的软件包
请确保系统内有至少2.5版本的python,增加对python,ruby,perl ,lua,cscope的支持,注意需要先安装对应的编程语言
yum -y install ncurses-devel readline-devel lua-devel ruby ruby-devel python-devel
yum -y install libyaml zlib zlib-devel perl-ExtUtils-Embed 
yum -y install libXt-devel gtk2-devel

4.编译安装 
cd vim74/src  
./configure --with-features=huge --enable-pythoninterp --with-python-config-dir=/usr/local/python2710/lib/python2.7/config --enable-python3interp --with-python3-config-dir=/usr/local/lib/python3.5/config-3.5m/ --enable-rubyinterp --enable-perlinterp --enable-luainterp --with-lua-prefix=/usr --enable-cscope  --enable-multibyte  --enable-gui=auto --enable-xim  --with-x --enable-fontset --enable-sniff --disable-selinux 
make

make install

5.遇到的问题和说明
(1)如果要编译python3的模块进vim7.4, 需要指定config目录, 需要在编译的时候要换上这个
--enable-python3interp --with-python3-config-dir=/usr/local/lib/python3.5/config-3.5m/
vim -version | grep +python3

这里python2.7和python3.5都是根据我自定义的安装位置来设置的,请根据您的环境做恰当修改

python 2.7的升级过程参见本博文章

http://blog.csdn.net/tao_627/article/details/46928899

python 3.5的安装过程参见本博文章

http://blog.csdn.net/tao_627/article/details/49979251

(2)config过程非常重要,在配置之前,先学习一下各配置选项
./configure -h

(3)经常会遇到如下情况:

config中添加了ruby,lua等选项,但是安装后才发现ruby,lua都没有支持
没有图形界面,没有python、lua、perl、ruby接口,这是问什么呢?
用./config命令时,仔细看输出信息,界面需要的库没有安装的话,会自动屏蔽gui
configure输出太长不方便看的话,可以看src/auto/config.log,里面有详细记录
(4)在编译过程中,出现编译错误,都可以立即停下来,安装相应的依赖模块,再
make clean
make
(5)在configure时发现有问题,可以立即停下来,直接修改相应配置选项,或者重新走一遍流程,一定要记得再次configure之前,最好要删除src/auto/config.cache文件,以免造成不必要的干扰
make uninstall  
make clean  
rm -f src/auto/config.cache

6.验证安装
vim --version
验证对各语言的安装
vim --version | grep python
vim --version | grep lua

vim --version | grep perl

其中带+号的为支持,带-号的为不支持

查看vim所在的目录
which vim
/usr/local/bin/vim

7.设置别名
安装新版后,发现vim的别名vi命令没有了。可以自己重新设定
echo "alias vi=‘vim‘" >> /etc/profile
source /etc/profile

8.安装其它插件
yum -y install ctags cscope

9.参考文献
[1].http://esazx.blog.163.com/blog/static/123997992201452932645671/
[2].http://tieba.baidu.com/p/2698036713
[3].http://www.tuicool.com/articles/rUNfMbJ
[4].http://blog.csdn.net/stone_age/article/details/47276995  gvim

在CentOS 6.6 64bit上基于源码安装全功能的vim 7.4实录相关推荐

  1. 在CentOS 6.9 x86_64上从源码安装xz命令的方法

    xz官网 https://tukaani.org/xz/ 下载最新版本的源码包 cd ~ wget https://tukaani.org/xz/xz-5.2.3.tar.gz tar zxvf xz ...

  2. CentOS上PHP源码安装和配置

    CentOS上PHP源码安装和配置 此文是在CentOS 7上已经部署了Nginx的基础上进行的 关于CentOS7上安装Nginx,可参考我之前的文章: CentOS上Nginx安装记录 我们现在在 ...

  3. centos7 上 bosun 源码安装+go二进制安装

    1. 系统  centos 7 笔者本来直接使用的  yum 安装 go yum install go 2. 由于在拉取bosun源码的时候出错 package context: unrecogniz ...

  4. rad linux下安装mysql_Linux(CentOS或RadHat)下MySQL源码安装

    MySQL 5.6开始,需要使用g++进行编译. cmake  :MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本. bison  :MySQL语法解析器需要使用bis ...

  5. ROS-noetic源码安装navigation功能包

    一.直接安装 sudo apt install ros-noetic-navigation 优势:简单,适合初级使用 缺点:只能调用,不能看.改代码. 二.源码安装 git clone https:/ ...

  6. 在Ubuntu 18.04上用源码安装GVM 20.08

    写在前面 OpenVAS是为数不多的开源漏洞扫描工具之一.如果不是最好的,那也一定是前三名.后来,改名为GVM,并且以发行的年月作为版本号.到文章发表时,最新版是GVM 20.08,发行于2020年8 ...

  7. liunx上mysql源码安装mysql,搞定linux上MySQL编程(一):linux上源码安装MySQL

    [版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途] 1. 首先下载源码包: ftp://ftp.jaist.ac.jp/pub/m ...

  8. 在ubuntu16.04上使用源码安装caffe2

    转载请声明,谢谢. Facebook终于开源了caffe2,参照Tutorials,完成caffe2安装. 参考:https://caffe2.ai/docs/getting-started.html ...

  9. 在CentOS 6.9上从源码安装Go 1.10

    详见本博博文 http://blog.csdn.net/tao_627/article/details/79375950 这里只是简单记录一下实操步骤,假定用户为root: wget https:// ...

最新文章

  1. Python 之列表及相关练习题
  2. Nuaa Q1090
  3. oracle数据库作业1,北京语言20秋《Oracle数据库开发》作业1(100分)
  4. Opportunity workflow debug
  5. php中的getdate+函数,PHP中的getdate()函数
  6. 【疑问感受】初见指针——当函数遇到指针
  7. java爬虫技术的作用_Java网络爬虫怎么实现?
  8. 《编码规范和测试方法——C/C++版》作业 ·003——宏定义作用整理、设计删除数组元素的函数
  9. 推特安卓版漏洞可导致攻击者访问用户私信
  10. OSChina 周二乱弹 ——追风的少年已经阵亡
  11. acl审计软件_现在有多少种比较常用的审计软件 ?
  12. 【office办公-pdf篇】pdf合并与拆分让我们摆脱付费软件的功能限制好不好
  13. 2019年江苏卷数学高考真题Word版含答案解析
  14. 推荐算法之DeepFM
  15. HTML层级设置,HTML----元素层级
  16. 【攻防世界7-12题】题解和解题心得
  17. 【转】纯JS省市区三级联动(行政区划代码更新至2015-9-30)
  18. Python - 使用python-opencv裁剪原视频为与视频高同宽的视频
  19. TIN的构建、Delaunay三角网、Voronoi图
  20. json序列化 java对象_Json 数据反序列化为Java对象

热门文章

  1. 引入css的四种方式
  2. 计算机多媒体运用的ppt课件,《计算机多媒体》PPT课件.ppt
  3. 2022-2028年中国胶片手套行业市场研究及前瞻分析报告
  4. CakePHP中出现persistent is not writable等Warning的解决方法
  5. vc++学习篇(三)——预处理命令之条件编译(#ifdef,#else,#endif,#if等)
  6. 降维处理:PCA和LDA
  7. 业务层战略制定的思路和方法_智能商业时代的一种敏捷战略框架
  8. linux 修改java版本_Linux 有问必答:如何在 Linux 中改变默认的 Java 版本
  9. python中execute函数_Python 中的内置函数与模块
  10. pandas内置数据集_pandas内置数据集_Pandas中的示例数据集