Answers:
有readline函数end-of-history
,默认情况下映射到M- >,但是如果在反向搜索过程中使用,则会退出反向搜索提示。
相反,要使用反向搜索,可以使用history-search-backward
和history-search-forward
(默认未映射),将它们映射到up/down(非常有用)在您的.inputrc
:
# up-down arrow to search in history
"\e[A":history-search-backward
"\e[B":history-search-forward
因此,键入后,您可以按up
(而不是Ctrl+ R)进行反向搜索,当您想返回历史记录的末尾时,可以end-of-history
按(M- >)使用该功能
这样,“搜索字符串必须在历史记录行的开头匹配 ”,因此,如果要搜索ls -ltr
,则必须键入ls
然后 up按键。
如果要“ 搜索字符串可能与历史记录行中的任何地方匹配 ”,则必须使用history-substring-search-forward
和history-substring-search-backward
:
# up-down arrow to search in history
"\e[A":history-substring-search-backward
"\e[B":history-substring-search-forward
这样,如果您进行搜索ls -ltr
,则可以在按之前键入ls
,也可以键入。ltr
up
参考:Bash参考手册–历史命令。
history
会告诉你所有的bash命令所做..