Pythonインタープリターでコマンドを誤って入力すると、時々表示されます...
。たとえば、help(random.unif
入力してEnterキーを押すと、新しいコマンドを入力できません。emacsを終了し、Pythonとインタープリターを再度起動する必要があります。これを修正する方法はありますか?
質問する
1381 次
2 に答える
7
Pavel Anossovが説明しているように、PythonにCTRL-Cを送信して割り込みをかけたいと考えています。
しかし、emacsでは、デフォルトでCTRL-Cはプレフィックスキーです。
幸い、python-modeやその他のモードを含むほとんどのインタラクティブシェルモードでは、CTRL-C2回続けてヒットすると、ctrl-Cがインタープリターに送信されます。または、より技術的にCTRL-CCTRL-Cは、にバインドされてい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
>>>
もう1つの方法はquoted-insert
、通常はにバインドされているコマンドを使用してから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
>>>
于 2013-03-04T20:36:55.330 に答える
1
通常CTRL-Cは動作します。emacsに埋め込まれたインタプリタについてはよくわかりません。または、インタプリタに待機しているもの(この例では)
)を提供するだけです。
于 2013-03-04T20:28:22.890 に答える