vim逐行調試python
來自專欄 vimer44 人贊了文章
長久以來,使用vim寫python的時候調試都是一個比較頭疼的問題,有時候我們使用開兩個窗口(使用iterm或者tmux或者等等方式),一邊看代碼一邊調試。
vim8的terminal功能給在vim中調試python提供了一種可能性。我在之前的插件vim-repl的基礎上進行了拓展,加入和對python的代碼調試功能。
sillybun/vim-repl https://www.zhihu.com/video/997894575800913920使用方式如下:
1、啟動調試
:REPLDebug
2、設置斷點:
:REPLDebugStopAtCurrentLine [condition]
在當前游標行設置一個斷點(臨時),並運行到這一行
4、運行代碼:
:REPLPDBC
3、單步執行:
:REPLPDBN
4、進入函數:
:REPLPDBS
5、進入上一個棧:
:REPLPDBU
我的設置:
let g:repl_program = { python: python, default: zsh }let g:repl_predefine_python = { numpy: import numpy as np, matplotlib: from matplotlib import pyplot as plt }nnoremap <leader>r :REPLToggle<Cr>autocmd Filetype python nnoremap <F12> <Esc>:REPLDebugStopAtCurrentLine<Cr>autocmd Filetype python nnoremap <F10> <Esc>:REPLPDBN<Cr>autocmd Filetype python nnoremap <F11> <Esc>:REPLPDBS<Cr>let g:repl_position = 3tnoremap <C-h> <C-w><C-h>tnoremap <C-j> <C-w><C-j>tnoremap <C-k> <C-w><C-k>tnoremap <C-l> <C-w><C-l>
按下<F12>啟動調試並且運行到當前行,<F10>單步調試,<F11>進入函數。
按下<Ctrl-hjkl>可以在REPL窗口和代碼窗口之間進行切換,在REPL窗口可以互動式的運行python代碼。
最後對於vim的terminal窗口按下:
<C-w>N
進入普通模式,在這種模式下可以看到所有歷史信息,REPL窗口就像是一個不能修改的文件一樣,在按下i或者a進入可交互模式。
最後感謝 @Yggdroot 的熱情幫助。
推薦閱讀:
※數據分析之Pandas實戰
※函數文檔中動詞的單數第三人稱?
※從零開始寫Python爬蟲 --- 2.1 Scrapy 爬蟲框架的安裝與基本介紹
※零基礎入門python爬蟲(一)