我一直使用Ctrl+ R,但我经常会因为按得太快而错过了我想要的命令。
要转发搜索,可以使用Ctrl+ ,S前提是它不首先使用终端(在我的例子中是 konsole,其中stty -ixon
修复~/.bashrc
了它)。
然而,我必须按两次:一次似乎是i-search
在进入reverse-i-search
模式后进入,第二次实际上是后退。
有没有办法消除按两次快捷键的需要?
答案1
这是一种不同的方法。如果您熟悉一些基本的 vi 编辑命令,bash 支持用于命令行编辑的 vi 模式。如果你真的讨厌 vi 你就不会喜欢这个。但如果您能忍受它,您可能会发现它更好并且击键次数更少。
设置-o vi
历史搜索的工作方式如下:
Esc
进入命令模式/
开始搜索- 输入搜索字符串的文本
Enter
执行搜索n
前往下一场比赛N
跳回到上一场比赛i
返回插入模式Enter
运行命令
答案2
显然,Bash 历史搜索需要第一次按快捷方式让您知道正在搜索的方向,然后再按一下才能实际执行搜索。我认为在不修改源代码的情况下不可能改变它的工作方式。
但是,您可以安装哈斯特(https://github.com/dvorka/hstr)它具有一个带有高级搜索选项的建议框,可以轻松查看、导航、搜索和管理您的命令历史记录: