解决安装YouCompleteMe与Vim版本不兼容问题

用vim 7.4.4版本装YouCompleMe的时候提示这样的信息: YouCompleteMe unavailable: requires Vim 7.4.1578+。明明版本比它要求的还高,居然还会报错,网上搜了一下说需要升级vim到8.0版本,大都需要用到sudo命令,但是我的是在服务器上,我并没有sudo权限,所以可以考虑将vim安装在local,安装步骤如下:

I. Install the Vim 8.0 with Make

1. Install the necessary package.

$ sudo yum install gcc-c++ ncurses-devel python-devel

2. Get the source code of Vim.

$ git clone https://github.com/vim/vim.git

3. Go to build directory.

$ cd vim/src && git check v8.0.1522 Use the version like my MacVim.

4. Configure it !

$ ./configure \
  --disable-nls \
  --enable-cscope \
  --enable-gui=no \
  --enable-multibyte  \
  --enable-pythoninterp \
  --enable-rubyinterp \
  --prefix=/home/jonny/.local/vim \
  --with-features=huge  \
  --with-python-config-dir=/usr/lib/python2.7/config \
  --with-tlib=ncurses \
  --without-x
--prefix: For local user, not effect other users.
--with-python-config-dir: For support the YouCompleteMe plugin.
I remove --enable-perlinterp args, because it will build fail, and I don’t need write the perl script.

注意上面的一些参数需要做对应的修改:

  • --prefix: 需要改成local user路径
  • --with-python-config-dir:我用的是anaconda,然后我的/home/anaconda3/lib/python3.7路径下并没有config文件夹,这个文件夹是用来支持YouCompleteMe插件的,所以你可以先手工创建这个文件夹即可。

5. Compile and install the Vim.

$ make && make install

6. Add ~/.local/vim/bin/ into $PATH.

$ vim ~/.bashrc
...
if [ -d "$HOME/.local/vim/bin/" ] ; then
  PATH="$HOME/.local/vim/bin/:$PATH"
fi

7. Reload the bashrc.

source ~/.bashrc

8. Check Vim version

输入$ vim --version你就会看到此时vim版本变成了8.0.

II. Install the YouCompleteMe plugin

  1. Install the necessary package.
$ sudo yum install gcc-c++ cmake python-devel
  1. Get the YouCompleteMe plugin.
$ mkdir ~/.vim/bundle && git clone https://github.com/Valloric/YouCompleteMe.git ~/.vim/bundle/YouCompleteMe
  1. Compile and install the YouCompleteMe.
$ cd ~/.vim/bundle/YouCompleteMe && python ./install.py

安装完YouCompleteMe之后,每次打开一个文件都会提示这样的信息

Found /Users/username/.ycm_extra_conf.py. Load?

(Question can be turned off with options, see YCM docs)
[O]k, (C)ancel

可以在.vimrc文件中添加如下命令即可关闭提示

let g:ycm_confirm_extra_conf = 0

Enjoy it.

感谢: Install the Vim 8.0 and YouCompleteMe with Make on CentOS 7.4

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏运维

ELK日志分析系统搭建部署

  日志监控和分析在保障业务稳定运行时,起到了很重要的作用,不过一般情况下日志都分散在各个生产服务器,且开发人员无法登陆生产服务器,这时候就需要一个集中式的日志...

1462
来自专栏全栈架构

Spring Boot 与 kotlin 使用Thymeleaf模板引擎渲染web视图

在我们开发Web应用的时候,需要引用大量的js、css、图片等静态资源,使用Spring Boot 与 kotlin如何去支持这些静态资源?,很简单。

1203
来自专栏phodal

【持续集成】使用 Jenkinsfile 设计直观的 Pipeline

在编写《Growth:全栈 Web 开发思想》的时候,发现了Jenkins 2.0 发现了一个很帅的插件,叫Blue Ocean。 提供了一个高大上的可视化界面...

3327
来自专栏java闲聊

SpringBoot 1.5.10.RELEASE学习SpringMvc+SpringData+thymeleaf

1955
来自专栏曾大稳的博客

SoudTouch Android cmake编译

源码下载: https://gitlab.com/soundtouch/soundtouch, 源码下载之后里面有demo参考。 将下载的源码的include和...

1762
来自专栏张善友的专栏

K2 的Workspace 遭遇400 RequestLength 错误修复

每当遇到http错误代码为400,代表客户端发起的请求不符合服务器对请求的某些限制,或者请求本身存在一定的错误。 使用Fiddler2 查看请求发现请求的长度超...

1945
来自专栏EarlGrey的专栏

如何在 Ubuntu16.04 中用 Apache 部署 Jenkins 自动化服务器

在这篇指南中,作者会向你介绍如何在 Ubuntu 16.04 中安装最新版本的 Jenkins。我们会用自己的域名运行 Jenkins,在 apache web...

4120
来自专栏流柯技术学院

Jenkins不同job之间传递参数

在A项目配置面板中Post-build Actions选项中选择Trigger parameterized build on other projects ...

1132
来自专栏专注于主流技术和业务

使用Swagger2Markup实现导出API文档

在学会了如何使用Swagger之后,我们已经能够轻松地为Spring MVC或SpringBoot的Web项目自动构建出API文档了。但是,构建的文档必须通过在...

4.4K6
来自专栏battcn

一起来学SpringBoot | 第四篇:整合Thymeleaf模板

在前面几章中已经介绍了如何创建一个 SpringBoot 项目,同时简单的描述了 SpringBootRESTWeb服务。除此之外它也是支持如 JSP、 Thy...

1081

扫码关注云+社区

领取腾讯云代金券