您的位置:首页 > 其它

关于Ctrl+R(reverse-search-history)的反向搜索 —— forward-search-history的快捷键

2015-11-04 08:02 609 查看
Ctrl+R执行的是reverse-search-history,通过Ctrl+R可以根据关键字搜索历史命令,

按多次Ctrl+R可以继续搜索更旧的历史命令,但有时按快了多按了一次Ctrl+R,想要找的命令错过去了,

此时想要往另一个方向搜索历史命令的方法。

查看`man bash`,搜索forward-search-history,实际上forward-search-history的快捷键是Ctrl+S,

但多数终端环境将Ctrl+S作为suspend execution的快捷键(按Ctrl+Q是resume execution),

所以一般按Ctrl+S执行的是suspend execution,要想让Ctrl+S执行forward-search-history,

则一种方式是禁用Ctrl+S执行suspend execution,禁用的命令如下:

stty -ixon

另一种方式是将forward-search-history定义为Ctrl+S之外的快捷键,

但终端环境下Ctrl+A~Z都是被占用的快捷键,可以找个不常用的来作为forward-search-history的快捷键,

如下两个快捷键个人习惯不使用:

Ctrl+F Forward one character

Ctrl+B Backward one character

于是决定选择Ctrl+F作为forward-search-history的快捷键,方法如下:

编辑/etc/inputrc,在末尾添加如下一行:

"\C-f": forward-search-history

此时,重新登陆或重开一个终端,先按Ctrl+R,输入命令的一部分开始搜索,然后再按几次Ctrl+R,

这时按Ctrl+F提示符由reverse-i-search变为i-search,再按一次Ctrl+F就往另一个方向搜索了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: