1. 程式人生 > >Centos7安裝vim8.0 + YouCompleteMe

Centos7安裝vim8.0 + YouCompleteMe

升級vim以及gcc

升級gcc

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

升級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教程網址戳此

下面是指令,複製貼上就行

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 = '<C-a>' " ctrl + a 觸發補全
set completeopt=longest,menu    "讓Vim的補全選單行為與一般IDE一致(參考VimTip1228)

參考部落格