[英]ipdb doesn't work in vim console
我猜您正在使用GUI Vim。 gVim的? 的MacVim? 执行外部工具时获得的伪终端不是,从未存在过,也可能永远无法理解您看到的转义字符。 这意味着没有颜色 ,也没有ncurses样式的小部件 。
您最好在单独的终端中运行它,或者找到一种在iPython中禁用颜色的方法。
如果您真的不想像在@romainl建议的那样修补vim并在单独的终端中运行,则可以使用Conque插件,该插件提供了在vim缓冲区中添加彩色伪终端的方法。 你必须跑
ConqueTerm(|[V]Split|Tab) sh
并在其中运行
python path/to/file.py
(无法%
)。 可以缩小为映射:
nnoremap <expr> ,p ":\<C-u>ConqueTermVSplit sh\n\<C-o>:call feedkeys('python '.shellescape(bufname(".bufnr("%").")).\"\\n\")\n"
我为此创建了自己的解决方法,根据您使用ipdb的方式,这可能对您很有价值。 这个想法是,您可以将no_colors=True
传递给set_trace()
,这样交互式调试器将不会产生任何颜色输出。 我还为launch_ipdb_on_exception
启用了此参数。
这意味着您可以:
import ipdb
ipdb.set_trace(no_colors=True)
在MacVim中,输出看起来还不错。
要使用此,你将不得不使用我的版本的ipdb
,这是在这里 ,实际的相关承诺,如果你想看到我所做的是在这里 。
事实证明, ipdb
只是访问ipython.core.debugger
, Pdb
在那里定义了实际的调试器。
对于Windows用户,我建议使用ConEmu 。 与ipdb完美搭配使用(突出显示,自动完成等)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.