如何在gud中关闭*输入/输出*缓冲区

时间:2012-11-26 08:13:36

标签: emacs gdb gud

我最近切换到23使用GNU Emacs 24,我注意到每当我输入gud时,* input / output * buffer都会打开。我每次调试时都用C-x 0手动关闭它。任何人都可以指向我需要配置的正确变量,以便默认停止显示此缓冲区吗?

3 个答案:

答案 0 :(得分:13)

在新的emacs版本中有一个'gud-gdb',它实现了gdb / emacs交互的旧行为(没有专用窗口,没有I / O缓冲区)。如果你不想在使用它时调用M-x gud-gdb,你可以为M-x gdb定义一个别名

答案 1 :(得分:7)

我也有这个问题。在快速查看源代码之后,问题似乎是GUD专用于其大部分窗口(即,它们调用set-window-dedicated-p)。专用窗口是无法切换的窗口。我想越来越多的年轻枪在许多Windows模式下使用GUD并希望GUD管理他们的窗口布局,我们这些喜欢手动操作的人是少数。在gdb-mi.el中似乎没有任何明显的禁用此行为的东西(例如,gdb-set-window-buffer似乎总是为它管理的所有窗口执行set-window-dedicated-pt

目前,this solution或多或少是我正在使用的那个 - 我手动停用了窗口专用。但这似乎不是最理想的。应该有一些方法让GUD让你手动管理窗口布局。 This question is related.

答案 2 :(得分:6)

您可以像这样完全禁用窗口专用:(在Emacs 24.4 +中)

(defun set-window-undedicated-p (window flag)
 "Never set window dedicated."
 flag)

(advice-add 'set-window-dedicated-p :override #'set-window-undedicated-p)

请注意,这不会影响已经专用的窗口。