Ubuntu18.04安装Vim-plu与YCM

Posted trytobecomestronger

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu18.04安装Vim-plu与YCM相关的知识,希望对你有一定的参考价值。

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

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

技术图片

1、安装gcc

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

1 cd gcc-9.2.0/
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来进行安装

1 sudo apt install make
2 sudo apt install gcc

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

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

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

1 configure:4284: $? = 0
2 configure:4273: gcc -V >&5
3 gcc: error: unrecognized command line option -V

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

修改前                                                

技术图片 

修改后

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

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

技术图片

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

1 sudo make -j2
2 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时出现了一个错误

1 fatal: Unable to find remote helper for https

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

1 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时可以看到哪些库没有选择性安装之后再进行编译

技术图片

./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

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

1 ./configure --with-features=huge 2             --enable-multibyte 3             --enable-python3interp=yes 4             --with-python-config-dir=/usr/local/lib/python3.8/config-3.8-x86_64-linux-gnu 5             --enable-rubyinterp=yes 6             --enable-perlinterp=yes 7             --enable-luainterp=yes 8             --enable-cscope 9             --prefix=/usr/local/vim82

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

5、安装vim-plug及YCM

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

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

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

1 sudo apt install build-essential cmake python3-dev

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

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

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

1 python3 install.py --all

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

 1 call plug#begin(~/.vim/plugged)
 2     Plug ycm-core/YouCompleteMe
 3     Plug cormacrelf/vim-colors-github
 4     Plug itchyny/lightline.vim
 5     Plug https://github.com/altercation/vim-colors-solarized.git
 6     Plug seebi/dircolors-solarized
 7     Plug aruhier/gnome-terminal-colors-solarized
 8 call plug#end()
 9 
10 
11 set t_Co=256                                "开启256色支持
12 set nocompatible                              "高亮显示{, }, (, ), [,]的匹配情况
13 set backspace=indent,eol,start                "退格键设置
14 set showmatch                                "设置对应括号匹配高亮
15 set ts=4                                    "设置table键为四个空格
16 
17 
18 syntax enable
19 syntax on
20 
21 set cursorline
22 set cursorcolumn
23 
24 if has("autocmd")
25   au BufReadPost * if line("‘"") > 1 && line("‘"") <= line("$") | exe "normal! g`"" | endif
26 endif                                          "vim打开时光标跳到上次关闭时停留的位置
27 
28 set showmode                                "关闭在左下角显示类似INSERT的状态栏配合lightline使用
29 set laststatus=2                            "设置vim最下面两行显示状态配合lightline使用
30 "set background=light
31 set background=dark
32 let g:solarized_termcolors=256                "solarized开启256色
33 colorscheme solarized
34 "colorscheme github                            "colorscheme要放在call plug#end()后面,否则打开vim时会报错
35 "let g:lightline = {‘colorscheme‘:‘solarized‘,} "设置lightline的颜色主题
36 
37 
38 "以下为YCM设置
39 let g:ycm_server_python_interpreter=/usr/local/bin/python3.8
40 let g:ycm_global_ycm_extra_conf=~/.vim/plugged/YouCompleteMe/.ycm_extra_conf.py
41 
42 "离开插入模式后自动关闭预览窗口    
43 autocmd InsertLeave * if pumvisible() == 0|pclose|endif 
44 "让vim补全菜单行为与一般IDE一致
45 set completeopt=longest,menu       
46                                    
47 "关闭加载.ycm_extra_conf.py提示    
48 let g:ycm_confirm_extra_conf=0     
49 " 开启 YCM 基于标签引擎            
50 let g:ycm_collect_identifiers_from_tags_files=1
51 " 从第2个键入字符就开始罗列匹配项  
52 let g:ycm_min_num_of_chars_for_completion=2
53 " 禁止缓存匹配项,每次都重新生成匹配项 
54 let g:ycm_cache_omnifunc=0         
55 " 语法关键字补全                   
56 let g:ycm_seed_identifiers_with_syntax=1
57                                    
58 "通过诊断功能强制重新编译     
59 nnoremap <F5> :YcmForceCompileAndDiagnostics<CR>    
60 "回车即选中当前项
61 inoremap <expr> <CR>  pumvisible() ? "<C-y>" : "<CR>" 
62 "在注释输入中也能补全              
63 let g:ycm_complete_in_comments = 1 
64 "在字符串输入中也能补全            
65 let g:ycm_complete_in_strings = 1  
66 "注释和字符串中的文字也会被收入补全
67 let g:ycm_collect_identifiers_from_comments_and_strings = 0

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

1 export PATH=/usr/local/vim82/bin:$PATH
2 alias vi=vim
3 eval `dircolors ~/.vim/plugged/dircolors-solarized/dircolors.256dark`   #配置终端颜色适配vim的solarized
4 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

 

 

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

以上是关于Ubuntu18.04安装Vim-plu与YCM的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu18.04的安装与学习记录

Ubuntu18.04 下载与安装(阿里云官方镜像站)

ubuntu18.04下Kafka安装与部署

YCM安装与配置

树莓派 4B安装ubuntu18.04与melodic版ROS

ubuntu18.04/20.04/22.04安装显卡驱动与显卡信息查询