Centos7安装vim8.0 + YouCompleteMe教程

2018-10-10由程序员日记发表于系统教程 浏览45次

目录

升级vim以及gcc

升级gcc

<pre class="has">

sudo yum install centos-release-scl -y
sudo yum install devtoolset-3-toolchain -y
sudo yum install gcc-c++
sudo scl enable devtoolset-3 bash


  
  
  
  
### <a name="t4"></a><a id="vim_53"></a>升级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 --with-python-config-dir=/usr/lib/python2.7/config
sudo make
sudo make install
export PATH=/usr/local/bin:$PATH

```

  
  
  
**注意** 这里的`--with-python-config-dir=/usr/lib/python2.7/config` 等号后的路径每  
个机子不一定相同,总之需要找到 `config` 这个文件夹。

  
  
  
  
  
其次,我后面在vultr的centos主机上安装vim时出现了无论如何都无法为添加vim添加python支持的问题,后来发现是这个主机没有安装python开发环境`python-dev`,执行以下命令  
安装

  
  
  
  
  
```
```
sudo yum upgrade
sudo yum install python-devel

```

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

```

  
  
  
  
下载编译ycm
-------------------------------------------

  
  
  
  
  
```
```
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim 

git clone https://github.com/Valloric/YouCompleteMe.git ~/.vim/bundle/YouCompleteMe

cd ~/.vim/bundle/YouCompleteMe

git submodule update --init --recursive

```

  
  
  
在 ~/ 下创建文件 .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 

```

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

  
  
  
  
  
```
```
cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer

```

  
  
  
如果出现:

  
  
  
  
  
```
```
ERROR: Unable to find executable 'cmake'. CMake is required to build ycmd

```

  
  
  
 解决:下载安装cmake

  
  
  
  
  
```
```
wget https://cmake.org/files/v3.6/cmake-3.6.2.tar.gz

tar xvf cmake-3.6.2.tar.gz && cd cmake-3.6.2/

./bootstrap
gmake
gmake install


```

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

  
  
  
  
  
```
```
./install.py  --clang-completer  --gocode-completer --tern-completer

```

  
  
  
在对yum进行编译时如果你的主机内存不够的话编译会中断

  
  
  
  
  
查阅资料发现需要添加一个 `swap file`,[教程网址戳此](https://www.cyberciti.biz/faq/linux-add-a-swap-file-howto/)

  
  
  
  
  
下面是指令,复制粘贴就行

  
  
  
  
  
```
```
su

dd if=/dev/zero of=/swapfile1 bs=1024 count=524288

mkswap /swapfile1

swapon /swapfile1

vi /etc/fstab

# edit /etc/fstab file, add the following line

/swapfile1 none swap sw 0 0

# save and quit

free -m

swapon -s

```

- - - - - -

  
  
  
安装完成后将.yum\_extra\_conf.py复制一份到 ~/

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

```

- 

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

  
  
  
  
  
```
```
...

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

...


```

  
  
  
完毕后打开.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 = '' " ctrl + a 触发补全
set completeopt=longest,menu    "让Vim的补全菜单行为与一般IDE一致(参考VimTip1228)


```

  
  
  
  
  
- - - - - -

  
  
  
  
  
  
  
  
参考博客
--------------------------------------

  
  
  
  
- [centos中gcc的升级](https://www.dwhd.org/20160724_085212.html)
- [关于ycm的安装与文件配置1](http://wsmmsh.github.io/2016/02/02/Centos%E5%AE%89%E8%A3%85YouCompleteMe/)
- [关于ycm的安装与文件配置2](http://blog.csdn.net/leaf5022/article/details/21290509#comments)
- [关于vim的更新](http://www.linuxprobe.com/vim8-0-linux.html)
- [关于添加vim8.0的python支持1](https://bbs.deepin.org/forum.php?mod=viewthread&tid=43716)
- [关于添加vim8.0的python支持2](http://harttle.com/2017/06/01/compile-vim8-centos6.html)
- [新版vim的环境变量路径设置](https://medium.com/@devopsprosiva/vim-install-latest-vim-with-ruby-and-python-support-576648fade51)