2011-12-07 19 views
0

因此,下面是關於如何退出subst-python解釋器當前作業的技術問題。將劣勢python模式C-z鍵重新映射到python而不是emacs暫停或撤消

通常情況下,如果我在常規的命令行中運行解釋器,C-z會執行這個技巧。這將調用python exit並且不管是否運行stop。解釋程序仍然活着。

但是,在emacs中,當我在低級shell中按下C-z時,它運行undo命令(我使用CUA模式)。如果我禁用CUA,它將運行suspend-emacs命令。我想要的是要麼完全解除C-z綁定,要麼重新映射C-z,以便像在普通shell中那樣向python發送中斷信號。 我想這些殘酷的方式: (全球取消設置鍵「\鋯石」) ([?\鋯石]全球取消設置鍵)

他們都不工作,鋯石還停留作爲撤銷或掛起/使emacs不能正常工作。

我也嘗試了常規信號: 我可以發送給下層shell的唯一信號是QUIT,因爲它有效地殺死了解釋器及其進程(C-C C-),所以這是不可取的。信號STOP不起作用。

任何想法?

回答

1

當運行較差的進程時,通常可以使用前綴發送控制序列號爲C-c前綴。考慮到這一點,請嘗試

C-c C-z 

對我來說,這對於comint-stop-subjob是必然的。

+0

C-C C-z並不適合我,但我意識到C-C C-C打破了這項工作並保持瞭解釋器的活力。之前我沒有看到這個的原因是我使用python綁定運行C/C++模塊,並且「break」不能立即發生;它必須等到一個C++模塊完成執行 – octi