在ipython中,如果按'esc'后跟'enter'(可能还有其他字符?),readline break。我不能再使用'up'键搜索命令历史记录,并且一些命令(例如,control-K)失败。ipython:按'esc'键中断readline
有没有办法在ipython会话中重置readline?按下这些键时发生了什么?
在ipython中,如果按'esc'后跟'enter'(可能还有其他字符?),readline break。我不能再使用'up'键搜索命令历史记录,并且一些命令(例如,control-K)失败。ipython:按'esc'键中断readline
有没有办法在ipython会话中重置readline?按下这些键时发生了什么?
的海报的建议答案似乎并不为我的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
不耐烦。解决办法是:
IPython.InteractiveShell.init_readline(get_ipython())
看起来这可能是一个已知的bug太多:http://www.catonmat.net/blog/bash-vi-editing-mode-cheat-sheet/
我得到了类似的问题:后不幸一系列击键,emacs模式停止工作。 ESC + CTRL + e诀窍重置回Emacs模式。 Linux x86_64上的Ipython 1.2.1。 – 2014-08-06 19:21:53