IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 在CentOS 8上安装YouCompleteMe插件 -> 正文阅读

[开发工具]在CentOS 8上安装YouCompleteMe插件

关于YouCompleteMe插件

YouCompleteMe(简称YCM,下文以此代称该插件)是一个功能强大的补全插件,很大程度上提升了在vim上编写代码的体验。YCM可以支持多种语言,如C/C++,java等等,可以适应不同的开发需要。

作为一个刚刚入坑不久的新人,笔者有意想尝试一下YCM。虽然网上已经有众多YCM的安装流程,以及一些常见错误的解决方案。但是在实际的安装过程中,我还是遇到了没能查到解决办法的问题,故在综合了网上一些教程后攥写本文。如有不妥,望斧正。

安装YCM所要注意的事项

经历这次的安装过程后,我得出一个结论:即YCM安装失败最可能是因为依赖包没安装好。一旦出现这样的状况,报错信息将会淹没你的整个安装过程,有的还不好确认到底是什么地方出错。因此,有必要在开始安装之前就确保需要的包已经安装完毕。

确认所需的依赖条件

在GitHub上的YCM项目说明了当前版本插件需要什么依赖条件,实际安装时应按照其给出的条件。笔者安装的时候,条件对应如下:

  1. GCC版本在8以上
  2. Clang版本在7以上
  3. 需要安装Vundle插件管理
  4. 需要安装python3的开发包支持,python版本需要在3.6以上
  5. 需要安装cmake
  6. 需要vim版本在8.1.2269以上

配置对应的条件

首先确认GCC和Clang的版本,在tty输入:

sudo gcc --version
sudo clang --version

笔者遇到的一个最大问题就是没有安装clang(所以说一定要仔细配置)。因此,如果发现版本不符合要求或缺少的,则需要卸载后再安装合适的版本。

Vundle是GitHub上的项目,可以管理插件,在tty输入:

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

当然,clone到哪里是自己决定的,可以把控,其后的一些目录也要跟着改变即可。

确认python的版本,在tty输入:

sudo python3 -V

由于GitHub上是按照Ubuntu的命令来做的,相关的文件名也有所不同,如python-dev在CentOS和红帽这些系统上就是python-devel,其它也是类同。记得还要再安装cmake(如果事先没有安装)。在tty输入:

sudo yum -y install python36-devel.x86_64 cmake

此处文件的名字(如36)也跟对应的版本有关,应根据实际情况确定。

查看vim的版本,CentOS 8自带的应该是8.0版本,是不能够使用的,所以需要卸载后安装适合的。vim可以在https://github.com/vim/vim/releases处下载合适的版本安装。安装过程也可参考https://blog.csdn.net/iunfo/article/details/108902551

安装YCM

首先下载YCM的源码,在tty输入:

git clone https://github.com/Valloric/YouCompleteMe.git ~/.vim/bundle/YouCompleteMe
cd ~/.vim/bundle/YouCompleteMe

此时还不能够直接安装,因为拉下来的仓库还有子仓库,所以需要进一步clone子仓库的文件才完整,继续输入:

git submodule update --init --recursive

攥写YCM的配置文件,这里直接用了examples文件夹的默认配置,位于~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/.ycm_extra_conf.py。

配置~/.vimrc文件,其中填入:

" 设置不兼容vi
set nocompatible 
filetype off
" 设置包括vundle和初始化相关的runtime path
set rtp+=~/.vim/bundle/Vundle.vim
" 插件的初始化
call vundle#begin()
Plugin 'Valloric/YouCompleteMe'
call vundle#end()
" 设置默认的配置文件,可以按照上文攥写的位置来修改,笔者修改了位置
let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/.ycm_extra_conf.py'

完成上述工作就可以开始安装了,在当前目录输入:

sudo python3 ./install.py --clang-completer --system-libclang

此处笔者仅使用C/C++的补全,所以采用–clang-completer,如果全都要就可以按照GitHub上所说的去做,不再详述。

此时,安装过程中可能会报错,问题出在文件~/.vim/bundle/YouCompleteMe/third_party/ycmd/clang_archives/libclang-12.0.0-x86_64-unknown-linux-gnu.tar.bz2上。因此,需要重新下载这个文件并将其替代掉。可以在https://github.com/ycm-core/llvm/releases下载替换。

当然,如果不翻墙下载速度可能与乌龟爬行无异,所以建议有其它源的采用其它。

同时,在这里如果没有安装clang,此后的安装过程是不会报错的,但是却依然使用不了YCM。打开vim会提示The ycmd server SHUT DOWN,网上也没能找到合适的解决方案,如果有类似的问题可以检查自己的依赖包。

这些工作都做好之后,就可以重新开始安装YCM了。

安装后使用

随意的创建一个cpp文件,进入查看情况:
使用情况
可以看到已经能够完成补全了,且有错误提示的功能。

至此,YCM的安装已经基本完毕。(当然,笔者花费的时间较长,很大程度也源于自身经验不足)。

参考

https://blog.csdn.net/zhouguoqionghai/article/details/106160195

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-08-09 10:26:16  更:2021-08-09 10:28:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/22 13:49:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码