vim+python打造自己的IDE外掛程式推薦

來源:互聯網
上載者:User

標籤:外掛程式   vim   plugin   

  今天同事小夥伴突然告訴我說,他用的編輯器sublime3導致筆記本突然卡頓,看當時記憶體吃到了30G,而他筆記本總共才8G記憶體,懷疑是記憶體流失,果斷換回了原來用的PyCharm。因為我也用PyCharm學習python,深知它的記憶體使用量基本也在1G以上,聽到他這個訊息,我決定還是換回我一直習慣的vim,畢竟“編輯器之神”並非浪的虛名。

  所謂打造,其實就是找一些適合自己的外掛程式,先簡單總結一些,我親測過的幾個外掛程式。開始之前先說明一點,這裡提到的幾個外掛程式都是非常強大和有名氣的,但所謂適合自己的才是最好的,文中所說的缺點只是相對個人而言的感受,並不適用所有人。分享出來只是為給大家在選擇時做個參考。謝謝~

1.vim外掛程式管理器

vim-pathogen VS Vundle.vim:

這兩個外掛程式都可謂是vim的神器,用來進行vim的外掛程式管理。pathogen配置好之後使用方便之處在於只需要把你下載的vim外掛程式放到~/.vim/bundle(也可自訂)目錄下即可,而vundel每次需要更改vimrc檔案,不過vundel的方便之處在於更改完vimrc檔案之後,可以直接在vim裡使用:PluginInstall來進行外掛程式的一鍵安裝,原理就是自動從GitHub等源上自動下載。

  這裡我選擇的是vundle,因為可以一眼從設定檔看出我安裝了哪些外掛程式,不需要的外掛程式直接注釋掉即可。如Plugin部分就是我安裝的外掛程式,一目瞭然。

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/8F/01/wKioL1jRSBXi1RwqAAKCfHOONeA780.png-wh_500x0-wm_3-wmp_4-s_2597687534.png" title="Snip20170321_24.png" alt="wKioL1jRSBXi1RwqAAKCfHOONeA780.png-wh_50" />

2.python支援

  既然是寫python,那麼必然要進行python的擴充,這裡我測試了三個比較知名的python外掛程式。

  • Jedi-vim - Vim bindings for the Jedi auto-completion library for Python.

  • Python-mode - An all in one plugin for turning Vim into a Python IDE.

  • YouCompleteMe - Includes Jedi-based completion engine for Python.

對我來說,自動補全,和文法檢測是最終選擇了使用jedi-vim。

簡單說下自己的直觀感受:

python-mode:

優點:能夠自動補全,內建python文法檢測和程式碼摺疊功能等功能,很強大。

缺點:自動補全時順帶顯示函數的協助資訊,頁面顯示不夠簡潔、美觀;文法檢測功能一般。

以下是樣本:

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/8F/04/wKiom1jRTCTi9pa9AALYKjuxnSc471.png-wh_500x0-wm_3-wmp_4-s_1690894373.png" title="Snip20170321_26.png" alt="wKiom1jRTCTi9pa9AALYKjuxnSc471.png-wh_50" />

YouCompleteMe:

優點:自動補全,介面簡潔,支援多語言,功能非常強大、完整。三者之中在github上star數量最多。

缺點:可能由於功能過於強大,加文法檢測之後載入相對稍慢。配置略繁瑣。

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/8F/02/wKioL1jRUJORCm4LAAPFFW3G94g455.png-wh_500x0-wm_3-wmp_4-s_1679001960.png" title="Snip20170322_29.png" alt="wKioL1jRUJORCm4LAAPFFW3G94g455.png-wh_50" />

jedi-vim

優點:優點對我來說,就是上面兩個的缺點它都彌補了。載入速度挺快,頁面也挺簡潔。

缺點:沒有文法檢測;功能沒YCM強大,但是夠用足矣。

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/8F/04/wKiom1jRUV-RrJ5IAAQHaoSd2Mc093.png-wh_500x0-wm_3-wmp_4-s_654360273.png" title="Snip20170322_30.png" alt="wKiom1jRUV-RrJ5IAAQHaoSd2Mc093.png-wh_50" />

So,最終我選擇了jedi-vim。

3.python文法檢測

  有了自動補全之後就是文法檢測,個人傾向pep8標準,而且希望語法錯誤修正之後能夠被編輯器馬上識別。

  我測過用以下幾種做checker:

flake8、pep257、pep8、pycodestyle、syntastic

pydocstyle、pyflakes、pylama、pylint、python

  而最終我選擇了用外掛程式:"w0rp/ale",它的文法檢測最全面,介面簡潔,錯誤修正之後能夠被馬上識別出,而且是非同步,不必擔心載入過慢崩潰等問題。如:

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/8F/04/wKiom1jRVLbwvDcIAAPouaEZgfg906.png-wh_500x0-wm_3-wmp_4-s_823591417.png" title="Snip20170322_31.png" alt="wKiom1jRVLbwvDcIAAPouaEZgfg906.png-wh_50" />

4.加強版自動補全

  之前提到在vim裡面python的自動補全,為了使vim的功能更加強大,介紹一款外掛程式neocomplete.vim,使用它可謂讓vim的補全無處不在。如它會直接補全shell路徑。

需要注意一點:neocomplete requires Vim 7.3.885+ compiled with if_lua。

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/8F/03/wKioL1jRVrXQ76JLAAP6Uu7SqZc931.png-wh_500x0-wm_3-wmp_4-s_3809492590.png" title="Snip20170322_35.png" alt="wKioL1jRVrXQ76JLAAP6Uu7SqZc931.png-wh_50" />

5.分類樹外掛程式

  分類樹外掛程式自然是NERDTree,外加一個vim-nerdtree-tabs補強功能。如下:

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/8F/06/wKiom1jRYPWyHCFeAAcatuZgXU0359.png-wh_500x0-wm_3-wmp_4-s_1877029855.png" title="Snip20170322_38.png" alt="wKiom1jRYPWyHCFeAAcatuZgXU0359.png-wh_50" />

  最後還是那句話,適合自己的才是最好的。

本文出自 “xujpxm” 部落格,請務必保留此出處http://xujpxm.blog.51cto.com/8614409/1909043

vim+python打造自己的IDE外掛程式推薦

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.