擴展vim成python ide,主要講述ycm+vim8的安裝

這篇文章好多圖片都掛掉了,對這篇文章有興趣的話动壤,可以去我的CSDN看看

擴展vim成python ide

這幾天的經(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)在其他一些插件上)

接下來就是具體安裝過程

  1. 下載vim8源碼茄猫,我將他存放在~/src文件夾下,下載完成后得到一個名為vim8的文件
cd ~/src
git clone https://github.com/vim/vim.git
  1. 重點步驟狈蚤,安裝vim以及開啟vim8支持python2.7所需的軟件依賴
yum install python-devel ncurses-devel
# 如果想開啟vim8支持python3,需要下載以下軟件依賴
yum install python3-devel ncurses-devel
  1. 可選步驟困肩,如果想安裝gvim的話,需要額外的軟件依賴
yum install libXt-devel gtk2-devel
  1. 進入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)建)

  2. 編譯安裝

   make
   make instal
  1. 查看是否成功
    cd /usr/local/vim/bin
    ls 

有這兩個內(nèi)容說明gvim和vim都安裝成功了

[圖片上傳失敗...(image-696d70-1559663399724)]

但是安裝成功并不代表有python支持,輸入一下代碼讽坏,查看python的前頭是否有+號锭魔,+號表示支持的功能,-號表示不支持

   ./vim --version|grep python

[圖片上傳失敗...(image-a15dd5-1559663399724)]

  1. 成功后添加軟連接到/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
    
  2. 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下載過程比較慢,需要耐心等待蚜锨。
  1. 安裝完成后档插,就是最后的設置以及編譯工作了。

    • 在設置之前亚再,又是非常重要的安裝軟件依賴,cmake安裝教程

    • clang安裝(官方文檔中有要求clang的版本需要高于3.9郭膛,但是我們用yum下載下來的比3.9要低一些,不過這個無所謂氛悬,在編譯的時候则剃,系統(tǒng)會自動下載最新版的clang):

      sudo yum install epel-release
      sudo yum install clang

  2. .準備工作完成后,又到了編譯以及連接ycm源代碼的工作了

     cd ~/.vim/bundle/YouCompleteMe
     ./install.py --clang-completer
    
  3. 經(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' 
  1. 最后用gvim打開一個py文件蔫磨,體驗一下自動補全的效果吧
    [圖片上傳失敗...(image-dd67be-1559663399724)]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末衫哥,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子悲关,更是在濱河造成了極大的恐慌谎僻,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寓辱,死亡現(xiàn)場離奇詭異艘绍,居然都是意外死亡,警方通過查閱死者的電腦和手機秫筏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門鞍盗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人跳昼,你說我怎么就攤上這事±哒В” “怎么了鹅颊?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長墓造。 經(jīng)常有香客問我堪伍,道長,這世上最難降的妖魔是什么觅闽? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任帝雇,我火速辦了婚禮,結(jié)果婚禮上蛉拙,老公的妹妹穿的比我還像新娘尸闸。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布吮廉。 她就那樣靜靜地躺著苞尝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪宦芦。 梳的紋絲不亂的頭發(fā)上宙址,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天,我揣著相機與錄音调卑,去河邊找鬼抡砂。 笑死,一個胖子當著我的面吹牛恬涧,可吹牛的內(nèi)容都是我干的注益。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼气破,長吁一口氣:“原來是場噩夢啊……” “哼聊浅!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起现使,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤低匙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后碳锈,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體顽冶,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年售碳,在試婚紗的時候發(fā)現(xiàn)自己被綠了强重。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡贸人,死狀恐怖间景,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情艺智,我是刑警寧澤倘要,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站十拣,受9級特大地震影響封拧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜夭问,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一泽西、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧缰趋,春花似錦捧杉、人聲如沸陕见。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽淳玩。三九已至,卻和暖如春非竿,著一層夾襖步出監(jiān)牢的瞬間蜕着,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工红柱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留承匣,地道東北人。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓锤悄,卻偏偏與公主長得像韧骗,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子零聚,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容