Answers:
如果我正确地理解了这个问题,您应该可以通过反复敲击来循环进行选择Ctrl+R。
例如:
Ctrl+R
grep
Ctrl+R
Ctrl+R
...
这会向后搜索您的历史记录。要改为向前搜索,请使用Ctrl+S,但您可能需要先设置:(stty -ixon
通过.bash_profile
手动设置)或:来禁用XON / XOFF功能(该功能将取代)Ctrl+s。(更多详细信息在这里。)
CTRL+SHIFT+r
对我不起作用。
[[ $- == *i* ]] && stty -ixon
到.bashrc中,然后CTRL+s
将CTRL+r
如果您觉得该命令会经常使用,则可以添加一个标签
命令#有用
然后
ctrl+r #useful
之所以有效,#
是因为它是注释定界符,即,符号后的所有内容都不会解释为命令。但是,它将被记录在历史记录中,因此可以搜索。
您还可以通过将以下行添加到〜/ .inputrc来设置向上和向下箭头以进行稍微不同的搜索:
"\e[A": history-search-backward
"\e[B": history-search-forward
而不是在命令中的任何地方搜索子字符串(例如Ctrl-r),而是将搜索从光标左侧的文本开始的命令。例如,如果我运行以下命令:
$ ls bart
$ ls fools
然后键入ls
并按Up两次,它将显示ls bart
和光标在同一位置。与Ctrl- 进行比较r,它将ls
在最后一行找到两次,因此您必须再次按一次才能找到前一行。
这些方法都有其优势,并且都可以节省大量时间。
~/.inputrc
和添加这两行。
~/.inputrc
两行中取消注释,包括history-search- *