Vim下調試和編譯python
有時候在用vim寫python時,編譯、調試和性能測試是一個比較麻煩的事情。本文的目的是為配置一個比較方便的vim下對python的調試、編譯和性能測試環境提供一個可行的思路。
vimrc配置
nnoremap <F5> :call CompileRunGcc()<cr>nnfunc! CompileRunGcc()n exec "w"n if &filetype == pythonn if search("@profile")n exec "AsyncRun kernprof -l -v %"n exec "copen"n exec "wincmd p"n elseif search("set_trace()")n exec "!python3 %"n elsen exec "AsyncRun -raw python3 %"n exec "copen"n exec "wincmd p"n endifnnendfuncn
運行
運行使用了vim 8.0的非同步機制,所以確保你的vim版本不低於8.0
並且使用了vim插件:AsyncRun
實際在使用時,按下F5,會打開quickfix窗口,在後台運行python,並且不會影響繼續編寫代碼,等待代碼執行完成時,便會將程序執行結果顯示在quickfix中。
調試
調試工具使用了pudb,如圖所示,它提供了一個圖形化的調試窗口
具體使用時,在程序中加入set_trace()語句,具體調用pdb還是pudb取決於程序import了哪個。按下F5會自動調用調試
性能測試
性能測試使用的是line_profiler,安裝方式:
pip install line_profilern
使用時在程序的要測試的函數上一行加入
@profilen
按下F5,便會給出這個函數中具體每一行執行的時間、次數
推薦閱讀: