安装YouComplete
安装环境:Ubuntu 20.04
其他环境参考官网:YouCompleteMe
安装vundle插件管理器
YouCompleteMe插件需要通过插件管理器进行加载,这里使用vundle插件管理器
创建目录
mkdir -p ~/.vim/bundle && cd ~/.vim/bundle
克隆vundle插件管理器项目
git clone --recursive https://gitclone.com/github.com/VundleVim/Vundle.vim.git
注:确保递归克隆完成,这里使用了镜像网站加速github克隆项目,也可直接访问gitclone搜索项目
vim加载vundle插件管理器
cd ~ && vi .vimrc
配置如下
"去掉vim的一致性
set nocompatible
"关闭文件类型
filetype off
"设置包括vundle和初始化相关的runtime path
set rtp+=~/.vim/bundle/Vundle.vim/
call vundle#begin()
“加载vundle自身
Plugin 'VundleVim/Vundle.vim'
"加载YouCompleteMe,使用绝对路径
Plugin 'file:///home/username/.vim/bundle/YouCompleteMe'
call vundle#end()
filetype plugin indent on
注:加载YouCompleteMe插件的路径要根据自己的用户名设置
编译安装YouCompleteMe
.vimrc文件已经配置好了插件的加载设置,这里进行编译安装YouCompleteMe插件
克隆YouCompleteMe项目
cd ~/.vim/bundle/ && git clone --recursive https://gitclone.com/github.com/ycm-core/YouCompleteMe.git
注:由于github访问速度较慢,YouCompleteMe包含的许多第三方的插件可能克隆不成功,确保完整克隆项目是后面编译成功的基础
安装编译链工具和依赖库
sudo apt install build-essential cmake vim python3-dev libclang1-10
编译安装YouCompleteMe
使用系统libclang库的方式
cd ~/.vim/bundle/YouCompleteMe && python3 install.py --clang-completer --system-libclang --build-dir ./build
或使用clangd的方式
cd ~/.vim/bundle/YouCompleteMe && python3 install.py --clangd-completer --build-dir ./build
注:使用clangd的方式需要先安装clangd
编译过程中没有报错即可安装完成
配置YouCompleteMe
除了在安装vundle插件管理器的配置中加载YouCompleteMe插件外,还需要对YouCompleteMe进行其他设置
首先在.ycm_extra_conf.py文件中对代码提示进行设置
cd ~ && vi .ycm_extra_conf.py
配置如下
from distutils.sysconfig import get_python_inc
import platform
import os.path as p
import subprocess
import ycm_core
DIR_OF_THIS_SCRIPT = p.abspath( p.dirname( __file__ ) )
DIR_OF_THIRD_PARTY = p.join( DIR_OF_THIS_SCRIPT, 'third_party' )
SOURCE_EXTENSIONS = [ '.cpp', '.cxx', '.cc', '.c', '.m', '.mm' ]
# These are the compilation flags that will be used in case there's no
# compilation database set (by default, one is not set).<