生如夏花之绚烂,死如秋叶之静美。
—— 《生如夏花》
前言
关于YouCompleteMe
YCM作为vim史上最强大的插件,同时也是vim史上最难安装的插件。
博主自行编译参考了数篇blog折腾两天,刚爬出一个坑接着就掉进了下一个坑,最终由于系统环境不同等因素,全部失败(QAQ)。
对于初入vim的萌新而言,YCM手动编译安装无异于作死,头铁的老铁可以尝试。
如遇各种问题,请自行google
对于不想折腾的老铁,想快速配置YCM,vimplus是一个不错的选择。
vimplus是由国内大佬chxuan制作的自动配置程序 由于 vimplus 内置了 YouCompleteMe, 同时配置了其他便捷的插件,并且会自动进行编译,十分省心,对于初入vim编程的新手十分友善。vimplus安装过程比较久,请耐心等待。如果安装失败, 请自行google或于作者github/码云上询求解决方案。
版本要求
centos7及其以上64位系统。
ps:由于系统环境不同出现的问题可能也不同,以下为本文配置CentOS版本:
rpm -q centos-release
"CentOS Linux release 7.4.1708 (Core)
配置过程中踩到的坑
用户模式下,sudo命令不能使用
在root模式下配置好后,root模式支持代码补全,用户模式不支持
vim版本低
gcc版本不支持c++11
vim不支持python2/3
开始配置
使sudo可以在用户模式下使用
su
cd /etc/
chmod 660 sudoers
vim sudoers
" 找到: root ALL = (ALL) ALL
" 在下一行添加: 用户名 ALL = (ALL) ALL
" 例如: abouttime ALL=(ALL) ALL
" 保存退出
chmod 440 sudoers
" 退出root模式
更新yum
sudo yum upgrade
sudo yum update
下载git
sudo yum install git
升级gcc
sudo yum install centos-release-scl -y
sudo yum install devtoolset-3-toolchain -y
sudo yum install gcc-c++
sudo scl enable devtoolset-3 bash
升级python
sudo yum install python-devel
vim升级
(可选)删除旧版vim
su
rpm -qa|grep vim
rpm -e vim-minimal-7.4.160-2.el7.x86_64 vim-enhanced-7.4.160-2.el7.x86_64 vim-common-7.4.160-2.el7.x86_64 --nodeps
用户模式
cd ~
sudo yum install ncurses-devel
wget https://github.com/vim/vim/archive/master.zip
unzip master.zip
cd vim-master
cd src/
./configure --with-features=huge -enable-pythoninterp --with-python-config-dir=/usr/bin/python2.7/config
"注意 这里的--with-python-config-dir=/usr/lib/python2.7/config
等号后的路径不一定相同,找到 config 所在路径。"
make
sudo make install
升级完成后查看vim版本
vim --version
检查是否同下图标记一致
(可选)之前没有删除旧版vim
默认新的vim是安在/usr/local/bin/中的,但是PATH中会首先找到/usr/bin/中旧的vim,如果没有删除旧版vim,可以输入下面的命令来使命令行中的vim指令指向 /usr/local/bin/vim 的程序
alias vim='/usr/local/bin/vim'
安装vimplus
git clone https://github.com/chxuan/vimplus.git
cd ./vimplus
./install.sh
详见github
https://github.com/chxuan/vimplus
(个性化及快捷键介绍等,请阅读官方文档)
安装完成后尝试用vim编辑文件,如果出现以下报错:
The ycmd server SHUT DOWN (restart with ':YcmRestartServer').
YCM core library not detected; you need to compile YCM
before using it. Follow the instructions in thedocumentation.
用户模式
cd ~
cd .vim/bundle/YouCompleteMe/
ls
"有install.py文件,执行下面命令"
python install.py
执行完成后,YCM就可以正常使用了。