1. 程式人生 > >Centos7下一步一步安裝YCM外掛(附vimrc配置檔案)

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該命令,則需要安裝。
    步驟如下:

    1. 首先執行這兩條命令

      mkdir -p ~/.vim/bundle
      git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
    2. 設定外掛
      這一步由於我的vimrc檔案裡面都設定好了,所以就不用你再來設定了。

    3. 再次嘗試使用PluginInstall,這時候應該就成功了

第二步

  • 當你嘗試使用vim的時候,它可能會提示你的vim版本不夠,我的vim

    就差0.001個版本號都不行。於是我們需要升級vim(檢視vim版本的命令vim --version)
    好在我們可以通過加源來安裝vim,而不是自己編譯安裝,這給我們帶來了很大的方便。

    步驟如下:

    1. 首先刪除舊的

      yum remove vim-* -y
    2. 接著下載第三方yum源

      wget -P /etc/yum.repos.d/  https://copr.fedorainfracloud.org/coprs/mcepl/vim8/repo/epel-7/mcepl-vim8-epel-7.repo
    3. 然後安裝vim8.0

      yum -y install vim-enhanced
    4. 執行vim --version檢視版本,如果順利的話,vim已經升級到8.0了。

第三步

  • 接下來我們再嘗試使用vim,因為我們也安裝了nedtree,預設的游標應該是在nedtree的那一欄,使用ctrl+w+w切換vim的視窗,然後下方可能會提示you need to compile YCM before using it. Read the documents!之類的錯,這是因為我們需要自己來編譯YCM

    解決步驟如下:

    1. 進入到.vim/bundle/YouCompleteMe目錄下,如果你照著我的命令敲的話,.vim目錄是在你當前使用者的家目錄下
    2. 執行./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

這樣幾行,將數值改成你喜歡的顏色就行了。網上有對應的顏色表。

末尾

總的來說就這樣,有了外掛管理器的存在其實讓我們省了很多事。由於每個人的環境不一樣,所以遇到的問題可能也不一樣,這裡我只能列出我遇到過的問題,也是一些常見的問題。
其實導致錯誤的原因大概也就兩種,一種是缺少依賴,另外一種就是版本不夠。
遇到相應的問題學會去看日誌,然後對照著錯誤資訊去找解決方案,這才是最快的。