之前安装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的编译安装教程的更多相关文章

  1. centos7下比特币源码编译安装

    今天我们介绍比特币的源码安装过程,是利用编译安装的 首先安装依赖 1 yum install -y boost-devel qt-devel protobuf-devel qrencode-devel ...

  2. Linux下nginx编译安装教程和编译参数详解

    这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...

  3. Linux(centos)下mysql编译安装教程

    Linux下mysql编译安装教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 本文測试环境centOS6.6 一.Linux下编译安装MyS ...

  4. LNMP编译安装教程

    LNMP编译安装教程 此次安装在Centos上,我采用的CentOS的版本是:CentOS release 6.5 (Final) 可以通过以下命令查看:lsb_release -a 一.准备工作: ...

  5. 【转载】Ogre3d 2.1 源码编译安装教程

    原文:Ogre3d 2.1 源码编译安装教程 今年是3D手游年,今年也是游戏引擎战争进入白热的一年. 移动游戏的红海时代,让各大端游也忍不住纷纷伸出大白腿,Unreal.CryEngine纷纷宣布自己 ...

  6. Linux下通过源码编译安装程序

    本文简单的记录了下,在linux下如何通过源码安装程序,以及相关的知识.(大神勿喷^_^) 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件: ...

  7. Windows环境下Android Studio v1.0安装教程

    Windows环境下Android Studio v1.0安装教程 准备工具 JDK安装包. 要求:JDK 7以及以上版本. Android Studio安装文件. Windows: exe(包含SD ...

  8. 【转】Windows环境下Android Studio v1.0安装教程

    原文网址:http://ask.android-studio.org/?/article/9 http://android-studio.org/index.php/docs/experience/1 ...

  9. CentOS下MySQL 5.7编译安装

    CentOS下MySQL 5.7编译安装   文章目录 安装依赖包 下载相应源码包 添加mysql用户 预编译 编译安装 启动脚本,设置开机自启动 /etc/my.cnf,仅供参考 初始化数据库 设置 ...

随机推荐

  1. DBUtils - Python数据库连接池

    flask没有ORM操作这一功能, 但是想要操作数据库怎么办呢, 使用第三方包DBUtils 查询需要SQL原生语句! DBUtils 第一步还是要下载 使用pycharm直接搜索DBUtils fr ...

  2. 英语口语练习系列-C41-食物词汇-鹊桥仙

    词汇 1, rice [raɪs] n. 稻:米饭 vt. 把-捣成米糊状 Rice: 米饭 | 大米 | 稻 2, bread [bred] n. 面包:生计 vt. 在-上洒面包屑 Bread: ...

  3. FoxMail邮件设置

    最近部门变动,要求所有的沟通及交流都需要用企业邮箱,对于一般不喜欢看邮箱的我,经常会错过很多邮件.为了统一接收企业邮件及个人邮件,开始使用Foxmail(以前不喜欢整这些东西).下面分享一下FoxMa ...

  4. 浏览器url地址殊字符转义编码

    网址URL中特殊字符转义编码字符    -    URL编码值 空格    -    %20"          -    %22#         -    %23%        -   ...

  5. RDSS和RNSS

    RNSS英文全称Radio Navigation Satellite System,由用户接收卫星无线电导航信号,是一种卫星无线电导航业务,自主完成至少到4颗卫星的距离测量,进行用户位置,速度及航行参 ...

  6. Nginx如何进行配置优化?

    在日常工作的时候,搭建配置Nginx的时候,我们都会做相应的优化,那一般需要做的配置优化有哪些呢?可能有些小伙伴一听到要进行优化,内心难免有些慌. 今天咱们聊聊Nginx进行常规配置优化,这里需要注意 ...

  7. C#线程的使用(1)

    今天刚开始学习使用线程,把学习过程与新的记录下来. 创建线程: 非常简单,只需声明她并为其提供线程起始点处的方法委托即可: 终止线程: 使用Abort和Join方法来实现: Abort方法:用于永久的 ...

  8. 20190108C++MFC error 2065 未定义XX原因以及解决方式

    今天写界面的时候,明明直接在rc和reourse.h里面加了控件下面是rc和reourse.h照片 编辑的时候一直报错,找了很久发现是新定义的控件有两处定义,定义到其他工程里了所以才会这样,把其他工程 ...

  9. 安卓开发学习笔记(二):如何用Android Stuidio在res资源下创建xml视图文件

    笔者在看了相关的教程之后发现教程当中的资源已经过时了.当我们在创建了一个新的空白的工程之后,会发现其文件夹下面的分文件夹目录和官方的教程文件结构完全不同,因此会引起很多误解.笔者使用的是最新版的And ...

  10. [Swift]LeetCode331. 验证二叉树的前序序列化 | Verify Preorder Serialization of a Binary Tree

    One way to serialize a binary tree is to use pre-order traversal. When we encounter a non-null node, ...