由于个人强迫症的原因,之前的ycm是通过vundle来管理的,这次想更新一下ycm发现问题太多,于是就重新装了个Ubuntu虚拟机,用vim-plug来进行管理ycm及其他插件。

首先要换一下Ubuntu的默认源,换成国内的阿里源,提高下载速度

1、安装gcc

装好虚拟机之后发现没有gcc,于是下了最新的gcc源码自己编译安装:https://gcc.gnu.org/mirrors.html  选择一个镜像站下载源码包:gcc-9.2.0.tar.xz,解压后进入解压后的目录

 cd gcc-9.2./
./contrib/download_prerequisites

下载预装环境包发现特别慢,然后发现直接去网址下载好 gmp、mpc、mpfr、isl 这四个包然后放在 gcc-9.2.0/ 的目录下再执行download_prerequisites也是可以的:https://gcc.gnu.org/pub/gcc/infrastructure/

这里要注意下载包的版本为最新版本,比如我当时下载的版本为gmp-6.1.0、mpc-1.0.3、mpfr-3.1.4、isl-0.18

在后面的安装过程中发现还需要gcc和make进行编译,所以通过apt install来进行安装

 sudo apt install make
sudo apt install gcc

然后在 gcc-9.2.0/ 目录下创建一个编译目录进行存放编译文件,进入目录配置

 mkdir gcc-build
cd gcc-build
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

开始编译,然后编译过程中出现了两个错误,第一个类似下图

 configure:: $? =
configure:: gcc -V >&
gcc: error: unrecognized command line option '-V'

百度加谷歌后发现问题解决方法为修改configure文件的4353行附近几行代码,对比图如下

修改前                                                

 

修改后

    cat conftest.er1 >&
rm -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&
if test $ac_status = ; then
break
fi

第二个问题则是因为我虚拟机分配内存及cpu数量不够引起的,如下图

这只需要在make的时候不用 -j4 选项就行了,只不过时间会久一点

 sudo make -j2
sudo make install

至此GCC-9.2.0安装完成;

参考博文链接:https://blog.csdn.net/yaoyutian/article/details/90761619

          https://superuser.com/questions/846768/gcc-unrecognized-command-line-options-v-and-qversion-with-autoconf

2、安装git-2.25.0

强迫症把git也下载源码重新编译安装了,结果在后面安装vim-plug时出现了一个错误

 fatal: Unable to find remote helper for 'https'

百度发现原来是少了一个依赖库,执行命令

 sudo apt install libcurl4-openssl-dev 

参考博文链接:https://stackoverflow.com/questions/8329485/unable-to-find-remote-helper-for-https-during-git-clone

3、安装python-3.8.1

直接去python官网下载源码:https://www.python.org/downloads/source/

配置前安装一些必须的库,configure时可以看到哪些库没有选择性安装之后再进行编译

另外python3.8的ssl库好像openssl是不能用的,改用libressl去官网下载源码安装:https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/

./configure --enable-optimizations
make
make install

参考博文:https://blog.csdn.net/tanmx219/article/details/86518446

4、安装vim-8.2使其支持python3.8

下载vim8.2源码:https://www.vim.org/mirrors.php

解压后在压缩包目录编译安装

 ./configure --with-features=huge \
--enable-multibyte \
--enable-python3interp=yes \
--with-python-config-dir=/usr/local/lib/python3./config-3.8-x86_64-linux-gnu \
--enable-rubyinterp=yes \
--enable-perlinterp=yes \
--enable-luainterp=yes \
--enable-cscope \
--prefix=/usr/local/vim82

参考博文:https://blog.csdn.net/weixin_34356310/article/details/93599143

5、安装vim-plug及YCM

在命令行输入curl命令完成vim-plug安装

 curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

然后安装YCM,首先是开发工具

 sudo apt install build-essential cmake python3-dev

然后在.vimrc里面加入几行进行配置下载

 call plug#begin('~/.vim/plugged')
Plug 'ycm-core/YouCompleteMe'
call plug#end()

YCM很大,而且国内与GitHub间的连接不稳定,所以这个过程可能会持续很久尝试很多次,成功下载完之后进入目录 ~/.vim/plugged/YouCompleteMe

 python3 install.py --all

至此安装完成,我还下载了vim的几个插件和主题,详见如下的.vimrc文件

 call plug#begin('~/.vim/plugged')
Plug 'ycm-core/YouCompleteMe'
Plug 'cormacrelf/vim-colors-github'
Plug 'itchyny/lightline.vim'
Plug 'https://github.com/altercation/vim-colors-solarized.git'
Plug 'seebi/dircolors-solarized'
Plug 'aruhier/gnome-terminal-colors-solarized'
call plug#end() set t_Co= "开启256色支持
set nocompatible "高亮显示{, }, (, ), [,]的匹配情况
set backspace=indent,eol,start "退格键设置
set showmatch "设置对应括号匹配高亮
set ts= "设置table键为四个空格 syntax enable
syntax on set cursorline
set cursorcolumn if has("autocmd")
au BufReadPost * if line("'\"") > && line("'\"") <= line("$") | exe "normal! g`\"" | endif
endif "vim打开时光标跳到上次关闭时停留的位置 set showmode "关闭在左下角显示类似INSERT的状态栏配合lightline使用
set laststatus= "设置vim最下面两行显示状态配合lightline使用
"set background=light
set background=dark
let g:solarized_termcolors= "solarized开启256色
colorscheme solarized
"colorscheme github "colorscheme要放在call plug#end()后面,否则打开vim时会报错
"let g:lightline = {'colorscheme':'solarized',} "设置lightline的颜色主题 "以下为YCM设置
let g:ycm_server_python_interpreter='/usr/local/bin/python3.8'
let g:ycm_global_ycm_extra_conf='~/.vim/plugged/YouCompleteMe/.ycm_extra_conf.py' "离开插入模式后自动关闭预览窗口
autocmd InsertLeave * if pumvisible() == |pclose|endif
"让vim补全菜单行为与一般IDE一致
set completeopt=longest,menu "关闭加载.ycm_extra_conf.py提示
let g:ycm_confirm_extra_conf=
" 开启 YCM 基于标签引擎
let g:ycm_collect_identifiers_from_tags_files=
" 从第2个键入字符就开始罗列匹配项
let g:ycm_min_num_of_chars_for_completion=
" 禁止缓存匹配项,每次都重新生成匹配项
let g:ycm_cache_omnifunc=
" 语法关键字补全
let g:ycm_seed_identifiers_with_syntax= "通过诊断功能强制重新编译
nnoremap <F5> :YcmForceCompileAndDiagnostics<CR>
"回车即选中当前项
inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>"
"在注释输入中也能补全
let g:ycm_complete_in_comments =
"在字符串输入中也能补全
let g:ycm_complete_in_strings =
"注释和字符串中的文字也会被收入补全
let g:ycm_collect_identifiers_from_comments_and_strings =

同时在.bashrc里面还需要配置来应用gnome-solarized

 export PATH=/usr/local/vim82/bin:$PATH
alias vi='vim'
eval `dircolors ~/.vim/plugged/dircolors-solarized/dircolors.256dark` #配置终端颜色适配vim的solarized
export TERM=xterm-256color #设置terminal支持256色

参考博文:https://github.com/junegunn/vim-plug

     https://github.com/ycm-core/YouCompleteMe#linux-64-bit

     https://github.com/aruhier/gnome-terminal-colors-solarized

YCM定义声明及头文件跳转似乎需要额外配置:https://github.com/ycm-core/YouCompleteMe/issues/2249

至此应该全部配置已完成,由于本文花了几天时间写完,可能会有遗漏差错,问题想法交流请在下方留言

Ubuntu18.04安装Vim-plug与YCM的更多相关文章

  1. ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题(装)

    ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题      https://blog.csdn.net/NeptuneClouds/article/details/80995 ...

  2. ubuntu18.04 安装hadoop 2.7.3+hive 2.3.4

    1. 安装hadoop 详细请参见本人的另外一片博文<Hadoop 2.7.3 分布式集群安装> 2. 下载hive 2.3.4 解压文件到/opt/software -bin.tar.g ...

  3. Ubuntu18.04安装Virtualenv虚拟环境

    在Ubuntu18.04安装Virtualenv虚拟环境 [实验环境]: 在这台电脑上已经安装了python3 [安装参考] 1.查看是否已安装virtualenv virtualenv --vers ...

  4. Ubuntu18.04安装OpenCV4.1.0

    Ubuntu18.04安装OpenCV4.1.0 1.首先要安装依赖 sudo apt-get install build-essential \ cmake git libgtk2.0-dev pk ...

  5. Ubuntu18.04安装OpenStack

    Ubuntu18.04 安装Queens版本OpenStack 安装环境 系统 系统使用的是Ubuntu18,最少4核8G内存,20G硬盘空间. 工具 devstack DevStack是一系列可扩展 ...

  6. Ubuntu18.04安装mysql5.7

    Ubuntu18.04安装mysql5.7 1.1安装 首先执行下面三条命令: # 安装mysql服务 sudo apt-get install mysql-server # 安装客户端 sudo a ...

  7. Ubuntu18.04安装RabbitMQ

    Ubuntu18.04安装RabbitMQ 2018年06月10日 19:32:38 dmfrm 阅读数:2492    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog ...

  8. Ubuntu18.04安装thunderbird并设置中文

    Ubuntu18.04安装thunderbird并设置中文 安装thunderbird sudo apt-get install thunderbird 安装中文包 sudo apt-get inst ...

  9. Ubuntu18.04安装Docker, centos7安装Docker

    Ubuntu18.04安装Docker 第一种方法从Ubuntu的仓库直接下载安装: 安装比较简单,这种安装的Docker不是最新版本,不过对于学习够用了,依次执行下面命令进行安装. $ sudo a ...

  10. Ubuntu18.04安装和配置Java JDK11并卸载自带OpenJDK

    卸载自带的OpenJDK方法: 在终端执行命令:sudo apt-get remove openjdk* Ubuntu18.04安装JDK11.0.2 前面步骤一样,可参考:https://www.c ...

随机推荐

  1. hdu1716--全排列(dfs+有重复数字+输出格式)

    Ray又对数字的列产生了兴趣: 现有四张卡片,用这四张卡片能排列出很多不同的4位数,要求按从小到大的顺序输出这些4位数.  Input每组数据占一行,代表四张卡片上的数字(0<=数字<=9 ...

  2. AcWing 532. 货币系统

    #include <cstring> #include <iostream> #include <algorithm> using namespace std; ; ...

  3. 10.3lambda表达式笔记

    与参数不同被捕获的变量的值是在lambda创建时拷贝,而不是调用时拷贝 void fcn() { int v1 = 42; //局部变量 auto f = [v1] { return v1; }; a ...

  4. 面试官所问的--Token认证

    写这一篇文章的来源是因为某一天的我被面试官提问:让你设计一个登录页面,你会如何设计? 我当时的脑子只有??? 不就是提交账号.密码给后台就搞定了呢? 不可能那么简单,我弱弱的想,难道要对密码加密?? ...

  5. 大二组队(NABCD)

    (Need)需求 很多时候,外人都不了解我们的校园.为了宣传铁大.让更多人了解校园.走进铁大. (Approach)做法 我们有最基本的展示.对校园风貌有基本的讲解.有论坛供应大家讨论. (Benef ...

  6. MyEclipse把普通的项目变成hibernate项目

  7. 10个Spring Boot快速开发的项目,接私活利器(快速、高效)

    本文为大家精选了 码云 上优秀的 Spring Boot 语言开源项目,涵盖了企业级系统框架.文件文档系统.秒杀系统.微服务化系统.后台管理系统等,希望能够给大家带来一点帮助:) 1.项目名称:分布式 ...

  8. tp5.1 Auth类实现权限管理

    了解来这么久权限控制权限的知识,却不知道如何写代码,网上的代码多数并没有多少完整的源码能提供参考.偶然看到官网的例子,现在终于也把源码的实现也弄得明白了一点. tp5框架的Auth类可以实现页面的访问 ...

  9. JS高级---继承

    继承 面向对象编程思想: 根据需求, 分析对象, 找到对象有什么特征和行为, 通过代码的方式来实现需求, 要想实现这个需求,就要创建对象 ,要想创建对象, 就应该显示有构造函数, 然后通过构造函数来创 ...

  10. js -- 时间转年月日

    /** * 时间转年月日 * @param sdate 开始的时间 * @param edate 结束的时间 * @returns {*} */ function day2ymrStr2(sdate, ...