vim的python调试器

xiaoxiao2026-08-12  30

在.vimrc里加上: python << EOFimport timeimport vimdef SetBreakpoint(): nLine = int( vim.eval( 'line(".")')) strLine = vim.current.line i = 0 strWhite = "" while strLine[i] == ' ' or strLine[i] == "\t": i += 1 strWhite += strLine[i] vim.current.buffer.append( "%(space)spdb.set_trace() %(mark)s Breakpoint %(mark)s" % {'space':strWhite, 'mark': '#' * 30}, nLine - 1) for strLine in vim.current.buffer: if strLine == "import pdb": break else: vim.current.buffer.append( 'import pdb', 0) vim.command( 'normal j1') breakvim.command( 'map <C-F7> :py SetBreakpoint()<cr>')def RemoveBreakpoints(): nCurrentLine = int( vim.eval( 'line(".")')) nLines = [] nLine = 1 for strLine in vim.current.buffer: if strLine == 'import pdb' or strLine.lstrip()[:15] == 'pdb.set_trace()': nLines.append( nLine) nLine += 1 nLines.reverse() for nLine in nLines: vim.command( 'normal %dG' % nLine) vim.command( 'normal dd') if nLine < nCurrentLine: nCurrentLine -= 1 vim.command( 'normal %dG' % nCurrentLine)vim.command( 'map <C-F8> :py RemoveBreakpoints()<cr>')vim.command( 'map <C-D> :!python %<cr>')EOF 然后在要调试的代码里面用ctrl-F7设断点 ctrl-D运行
转载请注明原文地址: https://www.6miu.com/read-5051086.html

最新回复(0)