Linux学习之路
113081758
全部博文(30)
other(1)
shell(3)
桌面应用(2)
VIM(2)
2011年(1)
2010年(22)
2009年(7)
Js139750
gj941017
love100
cloudliu
zjhunanl
orange66
非凡公子
gzzaigcn
jun27014
分类: Python/Ruby
2010-04-10 10:12:44
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Python Debugger Script """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " " Block of python " python << EOF import time import vim def SetBreakpoint(): import re nLine = int( vim.eval( 'line(".")')) strLine = vim.current.line strWhite = re.search( '^(\s*)', strLine).group(1) vim.current.buffer.append( "%(space)spdb.set_trace() %(mark)s Breakpoint %(mark)s" % {'space':strWhite, 'mark': '#' * 30}, nLine - 1) vim.command( 'normal j') nLine = 0 flag = 0 for strLine in vim.current.buffer: if not flag: if re.search( '^(\s*#)', strLine): nLine += 1 elif strLine == "import pdb": break else: flag = 1 elif strLine == "import pdb": flag = 2 break print 'flag:'+str(flag) if flag == 1: vim.current.buffer.append( 'import pdb', nLine) vim.command( 'normal j') vim.command( 'map :py SetBreakpoint()') def RemoveBreakpoints(): import re 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 :py RemoveBreakpoints()') EOF
上一篇:用vim开发python
下一篇:Python笔记
登录 注册