前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VIM PYTHON 调试

VIM PYTHON 调试

作者头像
py3study
发布2020-01-10 15:28:59
5290
发布2020-01-10 15:28:59
举报
文章被收录于专栏:python3
代码语言:javascript
复制
python << EOF  
import time  
import vim  
def 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')  
            break 
vim.command( 'map <C-M> :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-U> :py RemoveBreakpoints()<cr>')  
vim.command( 'map <C-D> :!python %<cr>')  
EOF  
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/07/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档