gpt4 book ai didi

python - 如何在 emacs python 模式中取消解释器命令

转载 作者:太空狗 更新时间:2023-10-29 22:27:09 26 4
gpt4 key购买 nike

如果我在 python 解释器中输入错误的命令,有时我只会看到 ...。例如,如果我键入 help(random.unif 并按回车键,我将无法输入新命令。我必须退出 emacs 并再次启动 python 和解释器。有没有办法纠正这个问题?

最佳答案

正如 Pavel Anossov 所解释的,您想向 Python 发送一个 CTRL-C 来中断它。

但是在emacs中,默认情况下,CTRL-C是一个前缀键。

幸运的是,在大多数交互式 shell 模式中,包括 python 模式和替代模式,连续两次按 CTRL-C 会向解释器发送 ctrl-C。或者,更技术地说,CTRL-CCTRL-C 绑定(bind)到 comint-interrupt-subjob。 (当然,您可以以任何其他方式运行它——如果您真的想要,甚至可以使用 META-X comint-interrupt-subjob。)结果如下所示:

Python 2.7.2 (default, Jun 20 2012, 16:23:33) 
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> help(f
... ^C ^C
KeyboardInterrupt
>>>

另一种选择是使用 quoted-insert 命令,通常绑定(bind)到 CTRL-Q,然后按 CTRL-C。但是,因为这不会中断通常的行输入,所以您通常必须在它后面跟一个换行符。结果如下所示:

Python 2.7.2 (default, Jun 20 2012, 16:23:33) 
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> help(f
... ^C
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyboardInterrupt
>>>

关于python - 如何在 emacs python 模式中取消解释器命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15210470/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com