當前位置:編程學習大全網 - 編程語言 - 如何使 Vim 下開發 Python 調試更方便

如何使 Vim 下開發 Python 調試更方便

剛開始用vim寫python的時候,感覺很不方便,於是就用了圖形界面的Pycharm(如果是windows用戶,這個IDE應該是標配),用了壹段時間也沒有覺得有什麽不好,不過,腦子裏總是會想起《程序員修煉之道》中,那句”最好是精通壹種編輯器,並將其用於所有編輯任務。如果不堅持使用壹種編輯器,可能會面臨現代的巴別特大混亂。”所以,我又決定用vim來寫python。

在知乎上有很多vim寫python的插件推薦,不過我感覺很多人回答都不動腦子,這些回答主要有兩個問題:

回答不全面,很多人都只是推薦壹款插件,然後貼個鏈接就完了,如果要想很爽的用vim寫python,可以肯定的是,壹款插件是不夠的

貼上自己的配置,說自己的配置有多爽,然後就不管了。如果是壹個vim新手,是用不著這麽多配置的,如果是壹個vim老手,也不會放棄自己原有的配置,使用別人自定義、認為很爽的個性化配置

所以,這些回答都不是很靠譜。我爭取推薦壹些靠譜的東西,那麽,就開始吧!

1. 壹鍵執行

這個不是插件,而是壹個自定義的vim配置。很多時候我們寫python,都是寫壹些較為簡單的腳本,那麽,這個壹鍵執行的功能就非常實用,我個人感覺最實用的是在寫單元測試的時候,寫完壹個單元測試,都不用退出vim,立即執行就能看到結果。

將下面的配置放到.vimrc文件即可:

"""""""""""""""""""""" "Quickly Run """"""""""""""""""""""

map <F5> :call CompileRunGcc()<CR>

func! CompileRunGcc()

exec "w"

if &filetype == 'c'

exec "!g++ % -o %<"

exec "!time ./%<"

elseif &filetype == 'cpp'

exec "!g++ % -o %<"

exec "!time ./%<"

elseif &filetype == 'java'

exec "!javac %"

exec "!time java %<"

elseif &filetype == 'sh'

:!time bash % elseif &filetype == 'python'

exec "!time python2.7 %"

elseif &filetype == 'html'

exec "!firefox % &"

elseif &filetype == 'go' " exec "!go build %<"

exec "!time go run %"

elseif &filetype == 'mkd'

exec "!~/.vim/markdown.pl % > %.html &"

exec "!firefox %.html &"

endif

endfunc

2. 代碼補全(snipMate)

代碼補全能夠顯著地減少妳敲鍵的次數,並且將妳從瑣碎的語法中解放出來。說白了,就是幫妳寫代碼!

如果使用snipMate插件,那麽,當妳輸入ifmain以後按tab鍵,將會自動為妳生成下面的代碼:

if __name__ == '__main__':

main()

輸入for,再按tab鍵,生成如下代碼:

for needle in haystack: # code...

代碼補全有兩款插件都比較不錯,可以根據自己的需要進行選擇:

snipMate

xptemplate

3. 語法檢查(Syntastic)

syntastic是壹款強大的語法檢查插件,當妳保存源文件時,它就會執行,並提示用戶哪些代碼存在語法錯誤,哪些代碼風格不符合規範,並給出具體的提示。

例如,python代碼風格默認設置為PEP8,即使妳不知道PEP8的風格,只要妳使用syntastic插件,並根據它給出的提示修改,那麽,妳就能寫出完全符合PEP8風格的代碼!

4. 編程提示(jedi-vim)

jedi-vim是基於jedi的自動補全插件,與Syntastic 不同的是,該插件更加智能,更貼切的稱呼是”編程提示”,而不是代碼補全插件。

如下圖所示:

可以說,這個插件是寫vim的標配,並且,真正讓vim寫python變成壹件輕松愉快的事情。

註意: 安裝驚jedi-vim插件,需要在電腦中安裝jedi,根據jedi-vim給出的提示,正常按裝即可。不過我之前遇到壹個問題,在公司的虛擬機裏面,安裝以後不起作用,google了半天沒有成功,最後更新了壹下vim就可以了,希望遇到相同問題的人,能夠看到。

sudo aptitude install vim-gnome vim vim-common vim-tiny

至於調試,難道妳們不是用ipdb的嗎?如果不是,趕緊用用,妳們會喜歡的。

  • 上一篇:北大青鳥北京計算機學院分享打工者跳槽轉行學什麽好?
  • 下一篇:千千靜聽教程之基礎使用教程
  • copyright 2024編程學習大全網