2012-03-06 35 views
3

在ipython中,如果按'esc'後跟'enter'(可能還有其他字符?),readline break。我不能再使用'up'鍵搜索命令歷史記錄,並且一些命令(例如,control-K)失敗。ipython:按'esc'鍵中斷readline

有沒有辦法在ipython會話中重置readline?按下這些鍵時發生了什麼?

回答

6

的海報的建議答案似乎並不爲我的IPython 0.12+工作。我可以運行:

get_ipython().init_readline() 

但這似乎沒有幫助。

但是我注意到我有時會在iPython會話中看到類似的問題。看來我無意中從默認的Emacs readline編輯模式切換到vi模式(vim模式)。根據readline docs在它們之間切換,您應該可以使用M-C-j組合鍵,但似乎只允許我切換到vi模式。要切換回Emacs模式,可以使用Ce,但這看起來不適合我 - 我必須改用MCe - 在我的Mac上(其中ESC用作'Meta'鍵),它是:ESC + CTRL +Ë

我的〜/ .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。 – 2014-08-06 19:21:53