Ctrl-R 反向搜索后向前搜索的单一快捷方式

joz*_*yqk 14 bash keyboard-shortcuts readline

我一直在使用Ctrl+ R,但我经常会因为我按下它的速度太快而忽略了我想要的命令。

要向前搜索,Ctrl+S可以用来提供它不使用终端第一(konsole中在我的情况,其中stty -ixon~/.bashrc修复它)。

但是,我必须按两次:一次它似乎i-search在处于reverse-i-search模式后进入,第二次实际上向后退。

有没有办法消除按两次快捷方式的需要?

Mik*_*Roy 12

这是一种不同的方法。如果您熟悉一些基本的 vi 编辑命令,bash 支持 vi 模式进行命令行编辑。如果你真的讨厌 vi 你不会喜欢这个。但是,如果您能忍受它,您可能会发现它更可取,而且击键次数更少。

设置 -o vi

历史搜索的工作原理如下:

  • Esc 进入命令模式
  • / 开始搜索
  • 键入搜索字符串的文本
  • Enter 执行搜索
  • n 去下一场比赛
  • N 跳回上一场比赛
  • i 回到插入模式
  • Enter 运行命令


dr_*_*dr_ 3

显然,Bash 历史搜索需要第一次按快捷方式让您知道正在搜索的方向,然后再按一下才能实际执行搜索。我认为在不修改源代码的情况下不可能改变它的工作方式。

但是,您可以安装hstr (https://github.com/dvorka/hstr),它具有一个带有高级搜索选项的建议框,可以轻松查看、导航、搜索和管理命令历史记录:

在此输入图像描述