2009-04-26 32 views
135

轉發搜索Bash歷史我試圖搜索我的bash歷史,與CTRL - r類似,只是轉發方向。無法轉發類似於CTRL-r

這一直是我的痛苦,我只打一次,過於頻繁CTRL - [R,再次找到先前的命令。

如何轉發搜索您的Bash歷史與反向搜索類似?

回答

220

您也可以向前搜索。從bash的信息手冊「8.2.5 Searching for Commands in the History」:

要落後於歷史特定字符串,類型C-r搜索。 打字C-s通過歷史記錄向前搜索。

但是,Ctrl-S的問題是有時會與XON/XOFF流量控制(例如Konsole)發生衝突。然而,搜索是一個readline功能,你應該可以將它綁定到其他鍵。更新:更簡單更好的是通過運行禁用XON/XOFF

stty -ixon 
+1

這似乎與XON/XOFF所有的時間碰撞對我來說,因爲我不能得到Ctrl-S的工作。你如何將搜索綁定到其他密鑰? – 2009-04-26 23:24:29

+0

@hlovdal:非常感謝!你救了我的一天:) – 2009-04-27 04:44:50

+4

這太棒了,但我添加了stty -ixon到我的.profile,它似乎不適用於新選項卡。關於如何使這項工作的任何想法?我很喜歡XON/XOFF在默認情況下被禁用。 – 2011-09-20 09:10:01

7

我通常在終端中點擊ESC,然後點擊'>'。它至少會重置,然後您可以嘗試點擊更少的CTRL + R。

31

最好的把戲恕我直言,使pguppgdown使能。只是把在你的~/.inputrc

"\e[5~": history-search-forward 
"\e[6~": history-search-backward 

註銷/登錄,輸入第一個字母,然後pguppgdown整個歷史搜索

ctrl-R搜索包含單詞的所有行,而歷史搜索向前搜索線開始與單詞

19

你可能想要嘗試https://github.com/dvorka/hstr它允許Bash歷史的「建議箱式」過濾與(可選)基於度量的排序,即它是更有效和更快的前進和後退直接蒸發散:

enter image description here

它可以很容易地boundCTRL-R和/或按Ctrl-S