Windows下,VIM調試python的設置

做者:半瓶墨水 連接:http://www.2maomao.com/blog/win32-vim-debug-python/

vim很好用,可是python的set_trace太難用了,參考這篇文章,本身搞了一下。
如今Ctrl+M插入set_trace,Ctrl+U消除全部set_trace,Ctrl+D運行。以爲快捷鍵不爽的本身改改。
(M=>Mark, U=>Unmark, D=>Do)php

總共四個步驟:html

1. 安裝python新版,http://www.python.org,並把python安裝目錄加入到系統路徑python

2. 安裝VIM的runscript插件:其做用是在vim腳本中執行python腳本vim

3. 下載python2.4版本的python24.dll, 放到c:\windows\system32目錄。(注意,若是你的vim用的不是這個版本,後面的步驟中vim會出錯,提示你沒有 pythonxx.dll,本身去找相應的版本下載),這個主要配合vim使用,也就是解釋下面那一步的腳本的,和你調試的時候所用的python版本沒 有關係。windows

4. 把下面這段加入到_vimrc文件裏面(我加在最後了):app

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

 

轉自:http://www.2maomao.com/blog/win32-vim-debug-python/ide

相關文章
相關標籤/搜索