標籤:

vim逐行調試python

vim逐行調試python

來自專欄 vimer44 人贊了文章

長久以來,使用vim寫python的時候調試都是一個比較頭疼的問題,有時候我們使用開兩個窗口(使用iterm或者tmux或者等等方式),一邊看代碼一邊調試。

vim8的terminal功能給在vim中調試python提供了一種可能性。我在之前的插件vim-repl的基礎上進行了拓展,加入和對python的代碼調試功能。

sillybun/vim-repl?

github.com圖標 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爬蟲(一)

TAG:Vim | Python |