Centos7安裝vim8.0 + YouCompleteMe
阿新 • • 發佈:2018-12-14
升級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)