IPython的history-search-backward
功能是我最喜欢的功能之一。 history-search-backward
允许您键入命令的一部分,然后向后搜索readline历史记录,以查找以命令的该部分开始的命令。默认情况下(我相信)这些绑定到UpArrow
或Ctrl
+ P
和DownArrow
或Ctrl
+ N
(分别为向后和向前)。IPython的历史记录搜索后退不能正常工作
他们不适合我。相反,他们只是直线走过我的历史,而不是考虑到我已经输入的字符(全部)过滤我的历史。
我在Arch Linux上从XTerm中运行IPython 0.13.2(使用Python 2和3)。
如果我打Escape
,Ctrl
+ P
,然后UpArrow
和DownArrow
工作正是我希望他们。
此外,如果我改变我的ipython_config.py
包括
c.TerminalInteractiveShell.readline_parse_and_bind = ['"\\e[B": history-search-forward', '"\\e[A": history-search-backward']
然后我可以做Escape
UpArrow
所期望的行为。 (Here's the rest of my config file。)
Ctrl
+ V
UpArrow
产生^[[A
如我期望。我安装了python readline
库(这似乎解决了运行IPython的mac的常见问题)。
我在.bashrc
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
这些线条和他们工作完全因为我希望他们bash
内。
我不知道还有什么可以尝试下,所以我来到这里。请帮助,我希望我已经包含了足够的信息并做了足够的研究。
您可能还想检查'.inputrc'文件 - 这可能会影响它。 – 2013-05-03 11:50:34
好吧,我的'.inputrc'只有 'set editing-mode vi'和 'set keymap vi' – 0xtobit 2013-05-03 20:21:50