在ubuntu下使用vim-plug安装插件YouCompleteMe

2023-12-17 21:20

本文主要是介绍在ubuntu下使用vim-plug安装插件YouCompleteMe,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在ubuntu下使用vim-plug安装插件YouCompleteMe

​ 最近尝试在ubuntu下安装YME,感觉踩了很多坑,写一篇博客记录一下过程。

1.环境检测

​ 安装前检测各种软件的版本,对不符合要求的软件进行升级,可以在后面的安装过程中省下很多功夫。

1.1 查看linux发行版本
 uname -a

在这里插入图片描述

可以看到我的linux是Ubuntu 16.04.6。使用20版本的Ubuntu可以省去很多麻烦。

1.2 查看vim版本
vim --version

在这里插入图片描述

​ 这里可以看到vim的版本是7.4,是比较低的,需要升级。同时如果vim版本够高,但是python3前没有+号也不行,需要重新安装。

此外,还需要查看编译vim的python的版本。进入vim,输入

:py3 print( __import__( 'sys' ).version )

在这里插入图片描述

如果低于3.5,说明编译vim8的python3版本太低了,需要使用源码重新编译安装vim8。这里建议直接到3.8。

1.3 查看python3版本
python3 -V

在这里插入图片描述

​ 可以看到python3过低,需要升级到3.8。

1.4 查看gcc和g++版本
gcc -v
g++ -v

在这里插入图片描述

​ 可以看到gcc的版本为5.4.0,太低了。YMC至少需要8.0以上的版本。

2.相关软件升级

​ 根据上面的检测情况,选择需要的软件进行升级。如果都需要,建议按照下面顺序来。

2.1 升级gcc
##### 2.1.1 添加安装源
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
2.1.2 安装高版本
sudo apt install gcc-8
sudo apt install g++-8
2.1.3 检测是否安装成功
g++-8 -v
gcc-8 -v

​ 这时如果通过 gcc -v 查看会发现还是老版本,因为这是老版本和新版本都存在。链接还没有更改。

2.1.4 配置新版本gcc
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8

配置完成后,再通过 gcc -v 查看就会显示为高版本.

2.2 更新python3版本
2.2.1 添加deadsnakes PPA 源
sudo add-apt-repository ppa:deadsnakes/ppa
2.2.2 安装依赖包
sudo apt update
sudo apt install software-properties-common
2.2.3 安装python3.8 和python3.8-dev
sudo apt install python3.8
sudo apt install python3.8-dev
2.2.4 查看是否成功安装
python3.8 -V
2.2.5 配置python3.8 为系统默认python3
  • 将 python 各版本添加到 update-alternatives
$ which python3.8		//查看python3.8的位置
/usr/bin/python3.8$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1$ which python3.5		//查看python3.5的位置
/usr/bin/python3.5$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 2
  • 配置 python3 默认指向 python3.8
$ sudo update-alternatives --config python3There are 2 choices for the alternative python3 (providing /usr/bin/python3).Selection Path  Priority Status
------------------------------------------------------------
* 0  /usr/bin/python3.5 2  auto mode1  /usr/bin/python3.5 2  manual mode2  /usr/bin/python3.8 1  manual modePress <enter> to keep the current choice[*], or type selection number: 2

这里选择python3.8, 输入2,回车。

2.3 安装vim8

​ 由于YCM的需要,要使用3.5以上版本的python编译安装vim8。

2.3.1 添加安装源
sudo add-apt-repository ppa:jonathonf/vim

这里如果报错,可能是因为python3的版本问题。

ubuntu No module named 'apt_pkg'

可以通过修改脚本文件 add-apt-repository来解决

sudo vi /usr/bin/apt-add-repository

把第一行的

#! /usr/bin/python3
改为:
#! /usr/bin/python3.5

注:这里不一定要改为3.5,根据自己原始python的版本。
再运行就可以了。

2.3.2 添加依赖库

需要注意的是在Ubuntu16.04中Lua应该为liblua5.1-dev,而在其它版本中应为lua5.1-dev

sudo apt install libncurses5-dev libgtk2.0-dev libatk1.0-dev \
libcairo2-dev libx11-dev libxpm-dev libxt-dev python2-dev \
python3-dev ruby-dev lua5.2 liblua5.2-dev libperl-dev git
2.3.3 删除已有的vim
sudo apt remove vim vim-runtime gvim
sudo apt remove vim-tiny vim-common vim-gui-common vim-nox
2.3.4 下载源码并配置

如果没有git,要先装git。通过命令: sudo apt install git

cd ~
git clone https://github.com/vim/vim.git
cd vim
./configure --with-features=huge \--enable-multibyte \--enable-rubyinterp=yes \--enable-python3interp=yes \--with-python3-config-dir=/usr/lib/python3.8/config-3.8-x86_64-linux-gnu \--enable-perlinterp=yes \--enable-luainterp=yes \--enable-gui=gtk2 \--enable-cscope \--prefix=/usr/localmake VIMRUNTIMEDIR=/usr/local/share/vim/vim82
2.3.5 安装并配置
cd ~/vim
sudo make installsudo update-alternatives --install /usr/bin/editor editor /usr/local/bin/vim 1vim
sudo update-alternatives --set editor /usr/local/bin/vim
sudo update-alternatives --install /usr/bin/vi vi /usr/local/bin/vim 1
sudo update-alternatives --set vi /usr/local/bin/vim
2.3.6 查看vim版本
vim --version

在这里插入图片描述

3. 安装YME

3.1 安装vim-plug
3.1.1 输入以下命令安装vim-plug
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \https://raw.githubusercontent.com/junegunn/vimplug/master/plug.vim

如果出现以下错误:

在这里插入图片描述

编辑 /etc/hosts,增加一项 199.232.28.133 raw.githubusercontent.com,如果还是不行,从这里再选一个试试。

vi /etc/hosts
3.1.2 配置vim-plug

编辑 .vimrc文件。

sudo vi ~/.vimrc

加入以下内容:

call plug#begin('~/.vim/plugged')Plug 'mhinz/vim-startify'call plug#end()
3.1.3 测试安装

进入vim,输入命令 :PlugInstall

在这里插入图片描述

3.1.4 退出vim,再次进入就有如下菜单:

在这里插入图片描述

3.1.5 其他的Plug命令
  • PlugInstall [name …],安装插件,如不写name则表示安装所有写在配置文件的插件。

  • PlugUpdate [name …],更新插件,

  • PlugClean,删除插件。删除配置文件没有列出的插件,默认删除会有提示。如果加上了!,则不会有提示。

  • PlugStatus,查看插件安装状态。

3.2 安装YME
3.2.1 在~/.vimrc中加入,随后使用 :PlugInstall 安装
Plugin 'Valloric/YouCompleteMe'
3.2.2 vim-plug包补全

vim-plug 安装完成后,为了避免包缺失,在 ~/.vim/plugged/YouCompleteMe下运行命令。

git submodule update --init --recursive
3.2.3 运行安装脚本
./install.py --clang-completer

如果出现错误

在这里插入图片描述

先用 g++ -v 检查g++是否正确安装,且版本正确。如果有问题,见上面重新安装。如果没问题,输入以下命令:

sudo apt-get update
sudo apt-get install -y build-essential
3.2.4 大功告成

进入vim,编辑一个c/c++,就会有自动补全功能。

在这里插入图片描述

4. 可能会遇到的一些问题

4.1 python3.8-dev文件缺失

输入命令:

./install.py --clang-completer

如果提示错误:

Searching Python 3.8 libraries...
ERROR: Python headers are missing in /usr/include/python3.8.

则需要输入:

sudo apt-get install python3.8-dev
4.2 py3版本过低

如果安装YCM后,进入vim后提示

SyntaxError: invalid syntax when import vimsupport #3732

在vim中输入

:py3 print( __import__( 'sys' ).version )

如果显示的版本号,小于3.5。说明编译vim8的python3版本太低了,需要使用源码重新编译安装vim8。

4.3 添加安装源错误

添加安装源时,例如:

sudo add-apt-repository ppa:jonathonf/vim

此时如果我们升级了python3的版本,可能会报错:[具体原因](ubuntu No module named ‘apt_pkg’ - 简书 (jianshu.com))

ubuntu No module named 'apt_pkg'

可以通过修改脚本文件 add-apt-repository来解决

sudo vi /usr/bin/apt-add-repository

把第一行的

#! /usr/bin/python3
改为:
#! /usr/bin/python3.5

再运行就可以了。最后记得改回来。

这篇关于在ubuntu下使用vim-plug安装插件YouCompleteMe的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/505888

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

pdfmake生成pdf的使用

实际项目中有时会有根据填写的表单数据或者其他格式的数据,将数据自动填充到pdf文件中根据固定模板生成pdf文件的需求 文章目录 利用pdfmake生成pdf文件1.下载安装pdfmake第三方包2.封装生成pdf文件的共用配置3.生成pdf文件的文件模板内容4.调用方法生成pdf 利用pdfmake生成pdf文件 1.下载安装pdfmake第三方包 npm i pdfma