IPython 的history-search-backward
功能是我最喜欢的功能之一。history-search-backward
允许您键入命令的一部分,然后在阅读行历史记录中向后搜索以该命令的该部分开头的命令。默认情况下(我相信)这些必然是UpArrow
or Ctrl
+P
and DownArrow
or Ctrl
+N
(分别用于向后和向前)。
他们不为我工作。相反,他们只是线性地浏览我的历史记录,而不是考虑我已经输入的字符来(据称)过滤我的历史记录。
我在 XTerm 中的 Arch Linux 上运行 IPython 0.13.2(使用 Python 2 和 3)。
如果我打Escape
, Ctrl
+P
, then UpArrow
and DownArrow
完全按照我想要的方式工作。
另外,如果我改变我的ipython_config.py
包括
c.TerminalInteractiveShell.readline_parse_and_bind = ['"\\e[B": history-search-forward', '"\\e[A": history-search-backward']
那我就可以做Escape
UpArrow
以获得所需的行为。 (这是我的配置文件的其余部分 https://github.com/0xtobit/.files/blob/master/ipython_config.py.)
Ctrl
+V
UpArrow
产生^[[A
正如我所期望的。我有蟒蛇readline
安装了库(这似乎解决了运行 IPython 的 mac 的常见问题)。
我的里面有这些行.bashrc
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
它们的工作方式完全符合我的要求bash
.
我不知道接下来还要尝试什么,所以我来到了这里。请帮助,我希望我已经包含了足够的信息并做了足够的研究。