如何抑制python-mode的输出缓冲区?

时间:2009-02-17 16:10:51

标签: python emacs

在python-mode(对于emacs)中,按Control-C \ Control-C将执行当前缓冲区。但是,执行完成后,输出缓冲区会弹出并将编辑窗口分成两半。这是一个完整的痛苦,特别是考虑到缓冲区中通常没有输出!

有没有办法阻止缓冲区出现?另外,我怎么能给程序员发送痛苦的电击,他们认为用空缓冲器意外地打断了我的思路?这是一个好主意?

编辑:显然,这种行为有用,最明显的是看到程序的输出。那很好,但是如果没有输出(就像我正在修改的程序那样),用空白窗口将缓冲区切成两半就真的哑。

5 个答案:

答案 0 :(得分:6)

你使用的是什么python-mode?不幸的是,有几个

键入C-h k然后键入C-c C-c ..它在模式中说了什么?它是说“py-execute-buffer”还是说“python-send-buffer”,第一种表示你正在使用Tim Peters的python模式,而第二种表示你正在使用Dave Love的python模式

我自己更喜欢Dave Love的蟒蛇模式,它是Emacs 23附带的版本(可能更早?)。当你运行C-c C-c时,Dave Love没有弹出缓冲区,如果你想看到它,你必须显式切换到* Python *缓冲区。

如果你真的想要坚持使用Tim Peters的版本,你总是可以在.emacs中添加类似下面的内容,除非明确移动到,否则你永远不会再看到输出缓冲区。

(defadvice py-execute-buffer (after advice-delete-output-window activate)                                      
  (delete-windows-on "*Python Output*")) 

答案 1 :(得分:2)

很抱歉,我无法帮助您使用emacs,但至于您的第二个问题,Apple的改装铝键盘可能是一个解决方案:

http://www.apple.com/keyboard/

答案 2 :(得分:2)

在最近的python-mode.el中,行为由可自定义的变量控制:

py-shell-switch-buffers-on-execute

请参阅以下链接:

答案 3 :(得分:1)

您可能想要自定义pop-up-windows变量;它控制着分裂功能。

答案 4 :(得分:0)

不知道如何阻止它弹出,但 C-x,1 将关闭窗口。