Centos7下一步一步安裝YCM外掛(附vimrc配置檔案)
前言
由於博主太naive,使用yum update
將核心升級了,直接導致gnome
炸了,然後開機就宕機,只要進救援模式去把資料備份了,結果一不小心使用rm /home -rf
將需要備份的資料也刪了。。。然後就開始重灌系統了。
YouCompleteMe
這款自動補全的外掛還是很好用的,但是配置的時候遇到的問題確實可能比較多,等下列出的問題可能也只是少部分,其他的還是需要自己去查。之前就是因為不想重新配這些東西所以捨不得原來的系統,但是隻好重新配了。
這裡先給出我使用的vimrc
配置檔案,拷貝到你的使用者家目錄或者/etc
下就可以了,很方便(https://github.com/UKeeySDis/my_vimrc
(ps:我同時還安裝了nedtree
以及ctags
等外掛,這些外掛都不用自己配置,安裝了就可以使用,很方便)。
安裝ycm外掛
第一步
首先你需要安裝
vim
的一個外掛管理器,通過外掛管理器我們就可以自動安裝外掛。
在vimrc
裡面有類似這樣的程式碼:Plugin 'Valloric/YouCompleteMe' Plugin 'scrooloose/syntastic' Plugin 'bling/vim-airline' Plugin 'SirVer/ultisnips' Plugin 'edsono/vim-matchit' Plugin 'elzr/vim-json' Plugin 'honza/vim-snippets'
當我們在
vim
的命令模式下輸入PluginInstall
時就可以自動開始安裝了。
如果提示沒有PluginInstall
該命令,則需要安裝。
步驟如下:首先執行這兩條命令
mkdir -p ~/.vim/bundle git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
設定外掛
這一步由於我的vimrc
檔案裡面都設定好了,所以就不用你再來設定了。- 再次嘗試使用
PluginInstall
,這時候應該就成功了
第二步
當你嘗試使用
vim
的時候,它可能會提示你的vim
版本不夠,我的vim
vim
(檢視vim版本的命令vim --version
)
好在我們可以通過加源來安裝vim,而不是自己編譯安裝,這給我們帶來了很大的方便。步驟如下:
首先刪除舊的
yum remove vim-* -y
接著下載第三方yum源
wget -P /etc/yum.repos.d/ https://copr.fedorainfracloud.org/coprs/mcepl/vim8/repo/epel-7/mcepl-vim8-epel-7.repo
然後安裝vim8.0
yum -y install vim-enhanced
執行
vim --version
檢視版本,如果順利的話,vim已經升級到8.0了。
第三步
接下來我們再嘗試使用
vim
,因為我們也安裝了nedtree
,預設的游標應該是在nedtree
的那一欄,使用ctrl+w+w
切換vim的視窗,然後下方可能會提示you need to compile YCM before using it. Read the documents!
之類的錯,這是因為我們需要自己來編譯YCM
。解決步驟如下:
- 進入到
.vim/bundle/YouCompleteMe
目錄下,如果你照著我的命令敲的話,.vim
目錄是在你當前使用者的家目錄下 執行
./install.sh --clang-completer
命令。可能會提示`ERROR: please install CMake and retry.`這樣的錯誤,這是因為你還沒有安裝`cmake`。 那麼接下來,你需要使用`yum install cmake`命令來安裝cmake。 完成之後,再次執行`./install.sh --clang-completer` 可能又會遇到"致命錯誤:pyconfig.h:沒有那個檔案或目錄"這樣的錯,這是因為python方面的問題 執行`yum install python-devel`即可解決 這時候再來執行`./install.sh --clang-completer`應該就沒什麼問題了
- 進入到
可能出現的問題
如果你運氣足夠好,那麼此時應該已經有補全了,但是其實大多數時候還會遇到一個問題:
即
The ycmd server SHUT DOWN(restart with ‘: YcmRestarSever’).Unexpected erroe while loading the YCM core library.Type ‘:YcmToggleLogs ycmd_59745_stderr_Bdov_E.log’ to check the logs
這樣的。這是因為你的libstdc++.so.6
版本過低造成的。需要做的很簡單,就是裝一個新的,然後重建軟連結。
其他
安裝成功後,預設的ycm
補全顏色其實很醜,我們可以自己換顏色。
關於配置顏色的檔案是~/.vim/bundle/vim-colorschemes/colors/
目錄下的desert.vim
。
我們也可以直接在vim
的命令模式下更改,輸入hi Pmenu ctermfg=56 ctermbg=255
執行即可,不過這樣是臨時的。
如果要永久修改,可以開啟vimrc
檔案,翻到最後,可以看到
:hi Pmenu ctermfg = xxx
:hi Pmenu ctermbg = xxx
這樣幾行,將數值改成你喜歡的顏色就行了。網上有對應的顏色表。
末尾
總的來說就這樣,有了外掛管理器的存在其實讓我們省了很多事。由於每個人的環境不一樣,所以遇到的問題可能也不一樣,這裡我只能列出我遇到過的問題,也是一些常見的問題。
其實導致錯誤的原因大概也就兩種,一種是缺少依賴,另外一種就是版本不夠。
遇到相應的問題學會去看日誌,然後對照著錯誤資訊去找解決方案,這才是最快的。