Vim YouCompleteMe 安装详解 (Linux Mac)

我把所有的坑都踩了一遍,嗯

一点点准备工作

MacOS 请先下载 macvim
然后再 ~/.bash_rc 里面写别名

alias vim='mvim -v'

然后 source ~/.bash_rc

Linux 可以先clone一个vim 先不着急编译(99%的情况下自带的vim没办法直接支持 !!!!)

首先安装一个插件管理器 Vundle 这个比较简单直接 clone 下来然后放到 ~/.vim/bundle 下面

然后把这个写入到 ~/.vimrc 里面

filetype off " required
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'Valloric/YouCompleteMe'
call vundle#end()
syntax on
set shiftwidth=4
set tabstop=4

然后把YouCompleteMe clone下来,放到~/.vim/bundle 下面

一些检查工作,请务必检查一下

首先需要确定python的版本,目前YCM安装不支持python2所以请安装python3 !!!

其次是确定Vim的python支持情况
可以 vim --version|grep python

主要是看有没有python而且要求python3前面是+(注意!)如果支持这个版本的,那么没问题了可以接着走,如果不支持,需要重新编译Vim(注意!)但是不要着急接,接着看!

另外看好这个Python3的版本号,后面编译YCM需要用这个版本的Python!!鄙人因为有多个版本的Python3,导致在这里卡了很长时间(这里是3.7.0所以就用这个路径下的,3.6.x后续会无法启动服务!) https://github.com/ycm-core/YouCompleteMe/issues/2874

python3 --version 看一下版本和这个是不是对的上

准备编译 YCM

cd ~/.vim/bundle/YouCompleteMe

python3 install.py (后面的参数按需填)

如果编译器版本不支持的话需要升级一下或者指定一个版本 (指定编译器版本非常有可能有问题,不过好在有解决方案)

export CC=/opt/gcc-x.x/bin/gcc
export CXX=/opt/gcc-x.x/bin/g++

编译好之后看一下服务是不是可用

cd ~/.vim/bundle/YouCompleteMe/third_party/ycmd/
cp ycmd/default_settings.json .
python3 ycmd --options_file default_settings.json


如果可用那么就好办了,如果不可用那么可能情况看输出:
如果无输出直接退 可能是python版本的问题,检查编译的python版本

如果出现GLIB_2.14 这种错误,那么有可能是你Python被编译的版本太低了,解决方法换一个高版本gcc编译的Python或者自己编译一个吧

网上有替换libc.so.6 这种方案的,这里真的不建议!

最后如果Vim不支持 python3 ,手动编译一个就好了

./configure --with-features=huge 
            --enable-multibyte 
            --enable-rubyinterp=yes 
            --enable-python3interp=yes 
            --with-python3-config-dir=$(python3-config --configdir) 
            --enable-perlinterp=yes 
            --enable-luainterp=yes 
            --enable-gui=gtk2 
            --enable-cscope 
            --prefix=/usr/local 
            --with-features=huge # 这个可以不加

参考这个 https://github.com/ycm-core/YouCompleteMe/wiki/Building-Vim-from-source

最后

搜索路径在哪可以百度一下,加一个小配置我日后再补上

原文地址:https://www.cnblogs.com/stdpain/p/12527676.html