VIM YouCompleteMe自动补全插件配置
YouCompleteMe 插件
配置步骤
#编译支持 C++17 的 GCC
gcc 源代码以 ftp 的形式发布,除了 gnu 官方的服务器外,在世界各地都有镜像站,国内靠谱的镜像站有阿里云等。
下载源码并解压:
这里使用 9.4.0 版
1  | wget https://mirrors.aliyun.com/gnu/gcc/gcc-9.4.0/gcc-9.4.0.tar.gz  | 
创建编译用的目录,我一般习惯命名为 build:
1  | mkdir build && cd build  | 
编译配置:
GCC 可配置的选项极多,具体含义可以在gcc 网站上查询. 如果不知道应该加什么参数,可以参考系统上已有的 gcc 的配置参数:gcc -v。
1  | ../configure -v \  | 
此处解释几个关键配置
--build当前正在使用的机器的环境
--host编译产物(gcc)将会运行在的环境
--target编译出来的 gcc 的编译产物的目标环境
以上三个参数用于交叉编译,比如在 x86_64 机器上(build)编译一个即将在 arm 上运行(host)的编译器,该编译器产生在 arm 上(target)运行的程序。三个参数的格式均为cpu-company-system
--prefix=/usr/local编译产物的安装目录。系统默认的 gcc 一般会安装在/usr 下,为了不影响系统的 gcc,建议设置为不同的路径
--enable-languages配置 gcc 支持的语言类型,可选项有 ada, c, c++, go 等, 由于笔者只需要 c 和 c++,因此只开启了 c 和 c++.
--enable-multilib是否编译 target 上的 multilib, multilib 是在 target 上编译和运行架构不同程序所需的库,比如在 x86_64 上编译运行 32 位程序。
--with-multilib-list开启的 multilib 列表,对于不同 target,此处允许的值有所不同。在
x86_64-*-linux*上有 m32, m64, mx32 三个可选项。
开始编译并安装:
1  | make  | 
环境变量配置:
下面的$INSTALLDIR要换成对应的值。
1  | echo export PATH="$INSTALLDIR/bin:\$PATH" >> $HOME/.bashrc  | 
#安装 Python 3
YouCompleteMe 需要最低 Python3.6 的环境,如果不满足,则需要安装
如果软件源中包含了满足要求的 python 版本,则可以直接安装;否则需要从源码编译。
a. 直接从软件源安装
1  | sudo apt install python3.8 python3.8-dev  | 
b. 从源码编译 Python3
暂时没有用到,略过
#编译 VIM
VIM 的编译过程相对简单了很多
克隆代码,可以直接克隆最新版本:
1  | git clone --depth 1 https://github.com/vim/vim.git  | 
编译配置:
1  | cd vim/src  | 
编译安装:
1  | make  | 
#安装 CMAKE
下载 cmake 并安装:
1  | wget https://github.com/Kitware/CMake/releases/download/v3.21.3/cmake-3.21.3-linux-x86_64.sh  | 
配置环境变量:
1  | echo export PATH=$(pwd)/cmake-3.21.3-linux-x86_64/bin:\$PATH >> $HOME/.bashrc  | 
#安装 YouCompleteMe 插件
——待更新