今天同事小夥伴忽然告訴我說,他用的編輯器sublime3致使筆記本忽然卡頓,看當時內存吃到了30G,而他筆記本總共才8G內存,懷疑是內存泄漏,果斷換回了原來用的PyCharm。由於我也用PyCharm學習python,深知它的內存使用基本也在1G以上,聽到他這個消息,我決定仍是換回我一直習慣的vim,畢竟「編輯器之神」並不是浪的虛名。html
所謂打造,其實就是找一些適合本身的插件,先簡單總結一些,我親測過的幾個插件。開始以前先說明一點,這裏提到的幾個插件都是很是強大和有名氣的,但所謂適合本身的纔是最好的,文中所說的缺點只是相對我的而言的感覺,並不適用全部人。分享出來只是爲給你們在選擇時作個參考。謝謝~python
1.vim插件管理器git
vim-pathogen VS Vundle.vim:github
這兩個插件均可謂是vim的神器,用來進行vim的插件管理。pathogen配置好以後使用方便之處在於只須要把你下載的vim插件放到~/.vim/bundle(也可自定義)目錄下便可,而vundel每次須要更改vimrc文件,不過vundel的方便之處在於更改完vimrc文件以後,能夠直接在vim裏使用:PluginInstall來進行插件的一鍵安裝,原理就是自動從GitHub等源上自動下載。shell
這裏我選擇的是vundle,由於能夠一眼從配置文件看出我安裝了哪些插件,不須要的插件直接註釋掉便可。以下圖Plugin部分就是我安裝的插件,一目瞭然。vim
2.python支持app
既然是寫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.ide
YouCompleteMe - Includes Jedi-based completion engine for Python.
對我來講,自動補全,和語法檢測是最終選擇了使用jedi-vim。
簡單說下本身的直觀感覺:
python-mode:
優勢:可以自動補全,自帶python語法檢測和代碼摺疊等功能,很強大。
缺點:自動補全時順帶顯示函數的幫助信息,頁面顯示不夠簡潔、美觀;語法檢測功能通常。
如下是截圖示例:
YouCompleteMe:
優勢:自動補全,界面簡潔,支持多語言,功能很是強大、完整。三者之中在github上star數量最多。
缺點:可能因爲功能過於強大,加語法檢測以後加載相對稍慢。配置略繁瑣。
jedi-vim:
優勢:優勢對我來講,就是上面兩個的缺點它都彌補了。加載速度挺快,頁面也挺簡潔。
缺點:沒有語法檢測;功能沒YCM強大,可是夠用足矣。
So,最終我選擇了jedi-vim。
3.python語法檢測
有了自動補全以後就是語法檢測,我的傾向pep8標準,並且但願語法錯誤修正以後可以被編輯器立刻識別。
我測過用如下幾種作checker:
flake八、pep25七、pep八、pycodestyle、syntastic
pydocstyle、pyflakes、pylama、pylint、python
而最終我選擇了用插件:"w0rp/ale",它的語法檢測最全面,界面簡潔,錯誤修正以後可以被立刻識別出,並且是異步的,沒必要擔憂加載過慢崩潰等問題。以下圖:
4.增強版自動補全
以前提到在vim裏面python的自動補全,爲了使vim的功能更增強大,介紹一款插件neocomplete.vim,使用它可謂讓vim的補全無處不在。以下圖它會直接補全shell路徑。
須要注意一點:neocomplete requires Vim 7.3.885+ compiled with if_lua。
5.目錄樹插件
目錄樹插件天然是NERDTree,外加一個vim-nerdtree-tabs補強功能。效果圖以下:
最後仍是那句話,適合本身的纔是最好的。