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
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的主要内容,如果未能解决你的问题,请参考以下文章