centos7下vim8.1的编译安装教程
之前安装YouCompleteMe的时候遇到vim版本不兼容的问题,看网上说是需要将vim版本提升到8.0及以上,然后就开始安装最新版本的vim,安装过程中的遇到了不少问题主要集中在配置方面和缺少插件,在这里把最终的安装方法贴出来,希望能帮到需要的朋友,也是考虑到自己以后可能还要用到。
step1
为了使vim支持ruby、lua、perl、python2、python3编写的插件,在正式编译安装vim之前需要在系统中安装好相关插件,否则编译vim会出错。
sudo yum install ruby ruby-devel lua lua-devel luajit \
luajit-devel ctags git python python-devel \
python36 python36-devel tcl-devel \
perl perl-devel perl-Extutils-ParseXS \
perl-ExtUtils-XSpp perl-ExtUtils-CBuilder \
perl-ExtUtils-Embed libX* ncurses-devel gtk2-devel
如果系统中有可用的python2.7或者python3.6则将上面安装项中的python和python36去除。
step2
卸载已有的vim
yum -y remove vim
下载vim的项目源码
git clone https://github.com/vim/vim.git
下载好后进入到vim目录下进行配置、编译、安装
配置
./configure --with-features=huge \
--enable-gui=gtk2 \
--with-x \
--enable-fontset \
--enable-cscope \
--enable-multibyte \
--enable-pythoninterp \
--with-python-config-dir=/usr/lib64/python2.7/config \
--enable-python3interp \
--with-python3-config-dir=/usr/lib64/python3.6/config \
--enable-luainterp \
--enable-rubyinterp \
--enable-perlinterp \
--enable-multibyte \
--prefix=/usr/local/vim \
--with-compiledby="brooksj"
参数说明如下:
–with-features=huge:支持最大特性
–enable-rubyinterp:启用Vim对ruby编写的插件的支持
–enable-pythoninterp:启用Vim对python编写的插件的支持
-enable-python3interp:启用对python3编写的插件的支持
–enable-luainterp:启用Vim对lua编写的插件的支持
–enable-perlinterp:启用Vim对perl编写的插件的支持
–enable-multibyte:多字节支持 可以在Vim中输入中文
--enable-fontset:支持字体设置
–enable-cscope:Vim对cscope支持 ,cscope是一款优秀的代码浏览工具
–enable-gui=gtk2:gtk2支持,也可以使用gnome,表示生成gvim
-–with-python-config-dir 指定 python配置 路径
--with-python3-config-dir 指定python3配置路径
–-prefix:编译安装路径
--with-compiledby:编译者
配置很关键,这直接关系到你以后vim的功能使用,这里建议最好按照上面我所给出的的配置方案来配置,以免后续出现问题。
编译
make
如果编译错误则可能是缺少相关插件,回过头去查看上面那些插件是否都已安装上。
安装
make install
step3
设置系统环境变量,把vim的bin目录添加到path中,在/etc/bashrc末尾添加
# 注意/usr/local换成你的vim安装路径
export PATH=/usr/local/vim/bin:$PATH
source /etc/bashrc或者重新打开一个终端就可以使用vim和gvim来打开文件了。下图是我安装好之后执行vim --version的输出截图
centos7下vim8.1的编译安装教程的更多相关文章
- centos7下比特币源码编译安装
今天我们介绍比特币的源码安装过程,是利用编译安装的 首先安装依赖 1 yum install -y boost-devel qt-devel protobuf-devel qrencode-devel ...
- Linux下nginx编译安装教程和编译参数详解
这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...
- Linux(centos)下mysql编译安装教程
Linux下mysql编译安装教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 本文測试环境centOS6.6 一.Linux下编译安装MyS ...
- LNMP编译安装教程
LNMP编译安装教程 此次安装在Centos上,我采用的CentOS的版本是:CentOS release 6.5 (Final) 可以通过以下命令查看:lsb_release -a 一.准备工作: ...
- 【转载】Ogre3d 2.1 源码编译安装教程
原文:Ogre3d 2.1 源码编译安装教程 今年是3D手游年,今年也是游戏引擎战争进入白热的一年. 移动游戏的红海时代,让各大端游也忍不住纷纷伸出大白腿,Unreal.CryEngine纷纷宣布自己 ...
- Linux下通过源码编译安装程序
本文简单的记录了下,在linux下如何通过源码安装程序,以及相关的知识.(大神勿喷^_^) 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件: ...
- Windows环境下Android Studio v1.0安装教程
Windows环境下Android Studio v1.0安装教程 准备工具 JDK安装包. 要求:JDK 7以及以上版本. Android Studio安装文件. Windows: exe(包含SD ...
- 【转】Windows环境下Android Studio v1.0安装教程
原文网址:http://ask.android-studio.org/?/article/9 http://android-studio.org/index.php/docs/experience/1 ...
- CentOS下MySQL 5.7编译安装
CentOS下MySQL 5.7编译安装 文章目录 安装依赖包 下载相应源码包 添加mysql用户 预编译 编译安装 启动脚本,设置开机自启动 /etc/my.cnf,仅供参考 初始化数据库 设置 ...
随机推荐
- 【转】window.onerror跨域问题
What the heck is "Script error"? Ben Vinegar/ May 17, 2016 If you’ve done any work with th ...
- 【2019雅礼集训】【CF 960G】【第一类斯特林数】【NTT&多项式】permutation
目录 题意 输入格式 输出格式 思路 代码 题意 找有多少个长度为n的排列,使得从左往右数,有a个元素比之前的所有数字都大,从右往左数,有b个元素比之后的所有数字都大. n<=2*10^5,a, ...
- Android滑动列表(拖拽,左滑删除,右滑完成)功能实现(2)
ItemTouchHelper类 之前我们实现了滑动列表的一些基本功能,为了实现更多的效果,我们来仔细看一下ItemTouchHelper中的类: ItemTouchHelper.SimpleCall ...
- 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习7
#include <iostream> #include <string> #include <cctype> using namespace std; int m ...
- hibernate框架中注意的几个问题
使用hibernate框架中,session.createSQLQuery创建sql语句的时候遇到的问题 1. select e.id,d.id from emp e,dept d where e. ...
- zepto.js-定制zepto步骤
对以上步骤作简单补充 步骤四:在电脑左下角搜索Node.js command prompt 打开这个命令窗口,然后进入zepto-master 即文件存放的位置.也可以直接用cmd进入zepto-ma ...
- 反编译python打包的exe文件
目录 1.前言 2.使用环境 3.还原过程 4.号外 5.exe文件和所用到的反编译工具 6.参考 7.去签名(补漏) 前言 拿到了利用驱动人生进行传播的病毒样本,发现是python打包成的exe文件 ...
- ipset和iptables配合来自动封闭和解封有问题的IP
iptables封掉少量ip处理是没什么问题的,但是当有大量ip攻击的时候性能就跟不上了,iptables是O(N)的性能.而ipset就像一个集合,把需要封闭的ip地址放入这个集合中,ipset 是 ...
- activiti数据库表结构剖析
1.结构设计 1.1. 逻辑结构设计 Activiti使用到的表都是ACT_开头的. ACT_RE_*: ’RE’表示repository(存储),RepositoryService接口所操作的 ...
- ansible基础-playbooks
1. playbooks介绍 如果说ansible的modules是工具,inventory配置文件是原材料,那么playbook就是一封说明书,这里会记录任务是如何如何执行的,当然如果你愿意,这里也 ...