0

所以这里有一个技术问题,关于如何退出劣质python解释器的当前工作。

通常,如果我在常规命令 shell 中运行解释器,Cz 就可以解决问题。这调用 python exit 并且任何正在运行的东西都会停止。解释器进程仍然存在。

但是,在 emacs 中,当我在劣质 shell 中按 Cz 时,它会运行 undo 命令(我使用 CUA 模式)。如果我禁用 CUA,它将运行 suspend-emacs 命令。我想要的是完全取消绑定 Cz 或重新映射 Cz 以实际向 python 发送中断信号,就像它在常规 shell 中所做的那样。我尝试了这些残酷的方法: (global-unset-key "\Cz") (global-unset-key [?\Cz])

它们似乎都不起作用,Cz 仍然卡在撤消或挂起/取消 emacs 中。

我还尝试了常规信号:我可以发送到下层 shell 的唯一信号是 QUIT,这是不可取的,因为它有效地杀死了解释器及其进程(Cc C-)。信号 STOP 不起作用。

有任何想法吗?

4

1 回答 1

1

运行低级进程时,通常可以发送带有C-c前缀的控制序列。考虑到这一点,尝试

C-c C-z

对我来说,这是必然的comint-stop-subjob

于 2011-12-07T22:38:49.333 回答