這篇文章好多圖片都掛掉了,對這篇文章有興趣的話动壤,可以去我的CSDN看看
這幾天的經(jīng)歷
首先感謝各位樂意分享的愛折騰的程序員們,這幾天翻過的文章太多了淮逻,就不一一點名了琼懊。沒有你們,我就不會踩這么多坑爬早,哈哈開玩笑的~
然后講講這幾天的經(jīng)歷哼丈,沒耐心的朋友可以跳過這段,我將從第二段開始講述安裝過程筛严。這幾天為了安裝這個YouCompleteMe可是說是把能踩到的坑全踩了一遍醉旦,最后總算是安裝成功了一大半。為什么說一大半桨啃,因為我安裝成功的是基于centos7自帶的python2.7车胡,要想支持python3.6,根據(jù)官方的文章來看优幸,也是一樣的流程吨拍,不過我試的時候是失敗告終。然后下面貼一下配置成功后的效果网杆,以及參考過的比較有用的文章還有坑羹饰。
[圖片上傳失敗...(image-41d78-1559663399724)]
[圖片上傳失敗...(image-481273-1559663399724)]
- 可以參考以下文章去擴展VIM:Vim與Python真乃天作之合:打造強大的Python開發(fā)環(huán)境
- 這個是我根據(jù)上面那篇文章所配置的vimrc文件,可供參考碳却,點擊下載队秩。下載后將文件改名成.vimrc,然后扔進centos'~/'下,進入vim,輸入:PluginInstall昼浦,等待插件下載完成即可使用馍资。提示沒有該命令的,請安裝vundle插件关噪。然后vimrc文件里有中文說明鸟蟹,utf-8編碼乌妙,unix格式,還不知道操作的可以去看看上面提到的文章建钥。
- 在windows下編輯的文件藤韵,發(fā)送到linux后,會存在一個格式的問題熊经,可以參考這篇文章:擴展vim遇到的問題-windows與linux的文件格式問題
- 然后是升級vim8所遇到的問題泽艘,為什么要升級vim8,因為ycm支持的VIM版本需要高于7.4.15。shell中輸入vim,進入vim界面的文字說明可以看到系統(tǒng)自帶版本是7.4.16镐依。這個版本不是高于7.4.15嗎匹涮?為什么還要升級,你不升級VIM直接裝ycm插件槐壳,就知道原因了然低。
- 升級vim8最大的問題就是如何設置vim8支持python∥裉疲可參考:源碼編譯vim8 github文檔
- 網(wǎng)上有些文章有提到vim8只支持py3脚翘,我的親身經(jīng)歷證明這是錯誤的。但有一點是正確的绍哎,那就是編譯vim8時,不能同時設置py2和py3的支持鞋真,只能選擇其中一個版本崇堰,這點在github中也有提到,原文:"You can only use Python 2 or Python 3. If you try to compile vim with both python-config-dir and python3-config-dir, it will give you an error YouCompleteMe unavailable: requires Vim compiled with Python (2.6+ or 3.3+) support."
- 如何在centos7中安裝py3,并使得py3與系統(tǒng)自帶的py2.7共存∩В可參考:centos7安裝py3,并使得與系統(tǒng)自帶的py2共存
- gvim與vim的區(qū)別海诲,上面貼出的截圖就是使用的gvim。我的理解是gvim是vim的圖形界面檩互,也就是gui vim特幔。也就是說,gvim和vim本質(zhì)上是同一個東西闸昨,gvim是vim的圖形界面而已,重點來了蚯斯,gvim比vim要好看很多!6稀拍嵌!什么?還有其他的一些特性區(qū)別是什么循诉?難道好看還不夠嗎:崃尽(不過說實話,gvim的ycm自動補全的速度明顯比vim慢了一個檔次,這一點同樣體現(xiàn)在其他一些插件上)
接下來就是具體安裝過程
- 下載vim8源碼茄猫,我將他存放在~/src文件夾下,下載完成后得到一個名為vim8的文件
cd ~/src
git clone https://github.com/vim/vim.git
- 重點步驟狈蚤,安裝vim以及開啟vim8支持python2.7所需的軟件依賴
yum install python-devel ncurses-devel
# 如果想開啟vim8支持python3,需要下載以下軟件依賴
yum install python3-devel ncurses-devel
- 可選步驟困肩,如果想安裝gvim的話,需要額外的軟件依賴
yum install libXt-devel gtk2-devel
-
進入vim8文件夾脆侮,執(zhí)行configure自檢腳本锌畸,可以自行添加或刪除所不需要的選項。(切忌他嚷,萬不可同時設置py2和py3的支持蹋绽,只能選其中一個,想設置python3支持筋蓖,請自行刪除下面的py2支持卸耘,添加py3支持)。
- 刪除之前的配置,如果你以前編譯過Vim
make distclean
-
進入下載好的vim文件夾中
``` cd vim ```
-
啟動自檢程序粘咖,配置需要的功能蚣抗,<font color="red">支持Python的版本以及路徑需要自行修改</font>
./configure --with-features=huge \ --enable-multibyte=yes \ --enable-pythoninterp=yes \ --with-python-config-dir=/usr/lib/python2.7/config \ --prefix=/usr/local/vim \ --enable-gui=gtk2 \ --enable-cscope=yes \ --enable-gui=yes
這里列舉一些 ./configure 后面的配置選項,也可以輸入./configure --help命令進行查看(需要在軟件包的根目錄下)瓮下,紅色部分需要根據(jù)實際路徑修改
–enable-gui:開啟vim圖形界面翰铡,也就是gvim
–with-features=huge:支持最大特性
–enable-rubyinterp:打開對ruby編寫的插件的支持
–enable-pythoninterp:打開對python編寫的插件的支持
–enable-python3interp:打開對python3編寫的插件的支持
–enable-luainterp:打開對lua編寫的插件的支持
–enable-perlinterp:打開對perl編寫的插件的支持
–enable-multibyte:打開多字節(jié)支持,可以在Vim中輸入中文
–enable-cscope:打開對cscope的支持
–with-python-config-dir=<font color="red">/usr/lib/python2.7/config/ 指定python 路徑</font>
–with-python-config-dir=<font color="red">/usr/lib/python3.5/config/ 指定python3路徑</font>
–prefix=/usr/local/vim:指定將要安裝到的路徑(自行創(chuàng)建)
編譯安裝
make
make instal
- 查看是否成功
cd /usr/local/vim/bin
ls
有這兩個內(nèi)容說明gvim和vim都安裝成功了
[圖片上傳失敗...(image-696d70-1559663399724)]
但是安裝成功并不代表有python支持,輸入一下代碼讽坏,查看python的前頭是否有+號锭魔,+號表示支持的功能,-號表示不支持
./vim --version|grep python
[圖片上傳失敗...(image-a15dd5-1559663399724)]
-
成功后添加軟連接到/usr/bin,并將舊版的vim改名或刪除,這里是將其改名為vim7路呜。下面的指令執(zhí)行成功后就可以輸入vim7,vim,gvim查看效果了
sudo mv /usr/bin/vim /usr/bin/vim7 sudo ln -s /usr/local/vim/bin/vim /usr/bin sudo ln -s /usr/local/vim/bin/gvim /usr/bin
-
vim8升級成功后迷捧,下一步就是配置他了,首先我們需要安裝vundle胀葱,這個VIM的一款插件漠秋,他主要負責管理VIM的插件。
- 該命令將下載Vundle插件管理器抵屿,并將它放置在你的Vim編輯器bundles文件夾中∏旖酰現(xiàn)在,你可以通過.vimrc配置文件來管理所有擴展了轧葛。
git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
- 接下來搂抒,把下來的Vundle配置添加到配置文件的頂部:
set nocompatible " required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
Plugin 'Valloric/YouCompleteMe'
" Add all your plugins here (note older versions of Vundle used Bundle instead of Plugin)
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
- 這樣,你就完成了使用Vundle前的設置朝群。之后燕耿,你就可以在配置文件中添加希望安裝的插件,然后打開Vim編輯器姜胖,運行下面的命令:
:PluginInstall
- 這個命令告訴Vundle施展它的魔法——自動下載所有的插件誉帅,并為你進行安裝和更新。ycm下載過程比較慢,需要耐心等待蚜锨。
-
安裝完成后档插,就是最后的設置以及編譯工作了。
在設置之前亚再,又是非常重要的安裝軟件依賴,cmake安裝教程
-
clang安裝(官方文檔中有要求clang的版本需要高于3.9郭膛,但是我們用yum下載下來的比3.9要低一些,不過這個無所謂氛悬,在編譯的時候则剃,系統(tǒng)會自動下載最新版的clang):
sudo yum install epel-release
sudo yum install clang
-
.準備工作完成后,又到了編譯以及連接ycm源代碼的工作了
cd ~/.vim/bundle/YouCompleteMe ./install.py --clang-completer
經(jīng)過漫長的編譯如捅,終于到了最后一步梢褐,進入.vimrc文件缸榄,在最下方添加設置
"設置全局配置文件的路徑
let
g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
"設置全局Python路徑
let g:ycm_server_python_interpreter='/usr/bin/python'
- 最后用gvim打開一個py文件蔫磨,體驗一下自動補全的效果吧
[圖片上傳失敗...(image-dd67be-1559663399724)]