2012-03-06 10 views
3

ipythonでは、 'esc'とそれに続く 'enter'(と他の文字も可能でしょうか?)を押すと、readlineが壊れます。私はもはや 'up'キーを使ってコマンド履歴を検索することができず、いくつかのコマンド(例えばcontrol-K)は失敗します。ipython: 'esc'キーを押すと、readlineが壊れます

ipythonセッション内でreadlineをリセットする方法はありますか?これらのキーを押すと、何が起こっていますか?

答えて

6

ポスターの提案答えはiPython 0.12+で私のために動作していないよう:これはあまりにも既知のバグかもしれないよう

IPython.InteractiveShell.init_readline(get_ipython()) 

が見えます。私は実行することができます:

get_ipython().init_readline() 

しかし、それは役に立たないようです。

しかし私はiPythonセッションで時々同様の問題が発生することに気付きました。 Emacsのデフォルトのreadline編集モードをvi-mode(vim-mode)に誤って切り替えたようです。 readline docsによれば、M-C-jのキーの組み合わせを使用できるはずですが、viモードに切り替えることができるように見えるだけです。 Emacsモードに切り替えるには、Ceを使うことができますが、私にとってはうまくいきませんでした。私のMacでは、代わりにMCeを実行する必要がありました。ESC次のように + CTRL + E私の〜/ .inputrcのの

内容は次のとおりです。

set meta-flag on 
set input-meta on 
set convert-meta off 
set output-meta on 
+0

私は同様の問題を抱えて:キーストロークの不幸シリーズは、Emacsのモードは動作を停止した後。 ESC + CTRL + Eは、このトリックをEmacsモードにリセットし直しました。 Linux x86_64上のIpython 1.2.1 –

関連する問題