关闭

Centos7安装vim8.0 + YouCompleteMe

标签: Centos7安装vim
168人阅读 评论(0) 收藏 举报
    首先,支持一下阿里云!阿里云ECS服务器,有幸运券了。欢迎大家来领取:

前言

为vim安装YouCompleteMe我已经是不止一次了,两次ubuntu,一次MacOS,一次阿里云的centos,最后一次由于gcc版本太低当时没找到解决方案就把源码下了在机子上编译导致cpu100%运行直接挂了,也就放弃了….现在在虚拟机上装了一次centos,想再尝试一次,遇到了一些坑,不过最后还是成功了,附上截图:

这里写图片描述

这里写图片描述


先说坑(解决方案在后面安装步奏中会说)

  • vim版本低 
    明明就差小数点后几位但是就不行,索性就装了vim8.0

  • gcc版本不支持c++11 
    现在发现下一个centos工具包就行了,其中包含最新的gcc

  • vim不支持python 
    在编译vim源代码时加上一些后缀就行了

  • ./install.py时说缺少依赖 
    这个就按照出错提示中要求输的命令输一下就行了


步奏

更新yum

sudo yum upgrade
sduo yum update
  • 1
  • 2

下载git

sudo yum install git
  • 1

升级vim以及gcc

升级gcc

sudo yum install centos-release-scl -y
sudo yum install devtoolset-3-toolchain -y
sudo scl enable devtoolset-3 bash
  • 1
  • 2
  • 3

升级vim

yum install ncurses-devel
wget https://github.com/vim/vim/archive/master.zip
unzip master.zip
cd vim-master
cd src/
./configure --with-features=huge -enable-pythoninterp --enable-python3interp
sudo make
sudo make install
export PATH=/usr/local/bin:$PATH
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

这里列举一些 ./configure 后面的配置选项

  • –with-features=huge:支持最大特性
  • –enable-rubyinterp:打开对ruby编写的插件的支持
  • –enable-pythoninterp:打开对python编写的插件的支持
  • –enable-python3interp:打开对python3编写的插件的支持
  • –enable-luainterp:打开对lua编写的插件的支持
  • –enable-perlinterp:打开对perl编写的插件的支持
  • –enable-multibyte:打开多字节支持,可以在Vim中输入中文
  • –enable-cscope:打开对cscope的支持
  • –with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu/ 指定python 路径
  • –with-python-config-dir=/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu/ 指定python3路径
  • –prefix=/usr/local/vim:指定将要安装到的路径(自行创建)

关于vim的安装路径

默认新的vim是安在/usr/bin/local/中的,但是PATH中会首先找到/usr/bin/中旧的vim,所以不介意的话把旧的vim删了也可以,也可以输入下面的命令来使命令行中的vim指令指向 /usr/local/bin/vim 的程序

alias vim='/usr/local/bin/vim'
  • 1

下载编译ycm

git clone https://github.com/Valloric/YouCompleteMe.git ~/.vim/bundle/YouCompleteMe
git submodule update --init --recursive
  • 1
  • 2

在 ~/ 下创建文件 .vimrc,输入一下内容

set nocompatible 
filetype off 
set rtp+=~/.vim/bundle/Vundle.vim 
call vundle#begin() 
Plugin 'gmarik/Vundle.vim' 
call vundle#end() 
filetype plugin indent on 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

使用vim打开,后输入 :PluginInstall 
完成后在 ‘Plugin ‘gmarik/Vundle.vim’的下一行输入 ‘Plugin ‘Valloric/YouCompleteMe’,保持后退出

cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer
  • 1
  • 2

由于我也希望ycm能进行nodejs和golang的补全,所以可以在./install.py 后添加如下后缀

./install.py  --clang-completer  --gocode-completer --tern-completer
  • 1

安装完成后将.yum_extra_conf.py复制一份到 ~/

cp ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py ~/
  • 1

之后打开在~/中的文件,进行找到此为止进行添加

...

'-isystem',
'/usr/include',
'-isystem',
'/usr/include/c++/',
'-isystem',
'/usr/include/i386-linux-gnu/c++'

...
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

完毕后打开.vimrc进行配置

let g:ycm_global_ycm_extra_conf='~/.ycm_extra_conf.py'  "设置全局配置文件的路径
let g:ycm_seed_identifiers_with_syntax=1    " 语法关键字补全
let g:ycm_confirm_extra_conf=0  " 打开vim时不再询问是否加载ycm_extra_conf.py配置
let g:ycm_key_invoke_completion = '<C-a>' " ctrl + a 触发补全
set completeopt=longest,menu    "让Vim的补全菜单行为与一般IDE一致(参考VimTip1228)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

更过个性化配置可以自行百度搜索


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1014次
    • 积分:38
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条