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