参考: Command-line completion from command history
方法1:匹配任意位置
输入Ctrl+R打开反向历史记录搜索,会出现如下信息。
lf@DESKTOP-8LB6JPN MINGW64 ~
(reverse-i-search)`':
然后输入需要搜索的内容,录入branch, 会显示匹配到的最近一条记录。
lf@DESKTOP-8LB6JPN MINGW64 ~
(reverse-i-search)`branch': git branch -a
如果不是想要的,可以输入更多的信息,进行更精确的搜索。也可以输入Ctrl+R进行切换下一条匹配到的记录。
lf@DESKTOP-8LB6JPN MINGW64 ~
(reverse-i-search)`branch': git branch -D fix
如何匹配到的话,可以直接按下 Enter来执行匹配到的指令。如果需要修改后再执行可以按下<-或者->后,然后编辑后在执行。
方法2: 开头匹配
添加下面几行到 .bashrc
文件
# Key bindings, up/down arrow searches through history
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
bind '"\eOA": history-search-backward'
bind '"\eOB": history-search-forward'
执行source .bashtc
使上面的配置生效。
然后输入需要搜索内容,通过上下箭头来切换匹配的记录。