我试图搜索我的bash历史与CTRL-r类似,但向前方向。
这对我来说是一种痛苦,当我只是太频繁地按CTRL-r,重新找到之前的命令。
如何像反向搜索一样向前搜索Bash历史记录?
我试图搜索我的bash历史与CTRL-r类似,但向前方向。
这对我来说是一种痛苦,当我只是太频繁地按CTRL-r,重新找到之前的命令。
如何像反向搜索一样向前搜索Bash历史记录?
当前回答
你可能想尝试https://github.com/dvorka/hstr,它允许“建议框风格”的Bash历史过滤(可选)基于指标的排序,即它在向前和向后方向上都更高效和更快:
它可以很容易地绑定到Ctrl-r和/或Ctrl-s
其他回答
你可能想尝试https://github.com/dvorka/hstr,它允许“建议框风格”的Bash历史过滤(可选)基于指标的排序,即它在向前和向后方向上都更高效和更快:
它可以很容易地绑定到Ctrl-r和/或Ctrl-s
另一个解决方案是使用:
历史| grep <搜索表达式>
在我看来,最好的技巧是启用pgup和pgdown。把它放在~/.inputrc中
"\e[5~": history-search-forward
"\e[6~": history-search-backward
登出/登录,键入第一个字母,然后pgup或pgdown搜索整个历史
ctrl-R搜索所有包含单词的行,而history- forward搜索以单词开头的行
正如许多人所经历的那样,由于软件流控制(XON/XOFF流控制),ctrl+s会冻结终端(而ctrl+q会解冻),您可以在接受的答案中禁用它。
虽然我不能说我真的有意使用这个功能,但我确实希望这个选项能够暂停快速移动的终端文本流,所以我不想完全禁用它。
因此,我没有关闭xoff函数,而是通过在.bashrc中放置以下内容来反弹xoff函数
stty stop '^P'
它将xoff绑定到ctrl+p (ctrl+q仍然未冻结)。我使用“p”表示“暂停”,这确实模糊了bash先前的命令功能previous-history。就我个人而言,我总是使用向上箭头键,所以这对我来说无关紧要,但你可以选择不同的键。
这将自动为前向搜索历史释放ctrl+s
我通常在终端按ESC,然后按>。它至少会重置,然后你可以试着少按CTRL+R。