bash历史记录CTRL + R行为

时间:2012-09-04 05:23:40

标签: bash bash-completion

有时我尝试通过 CTRL + R 搜索某个命令,但找不到它, 我最近使用它或通过 CTRL + R 成功搜索。

我运行`历史记录我能够再次找到命令。

这种行为是否正常? 怎么改变?

1 个答案:

答案 0 :(得分:2)

Ctrl + R从历史记录中的当前位置向后搜索,因此如果您已经移动了该位置,则会错过最后的部分。

例如:

themel@kallisti: ~ $ foob
bash: foob: command not found
themel@kallisti: ~ $ barz
bash: barz: command not found
themel@kallisti: ~ $ barq
bash: barq: command not found
themel@kallisti: ~ $ quarg
bash: quarg: command not found

Ctrl + R,bar yield:

(reverse-i-search)`bar': barq

也会移动到历史记录中 - 如果您随后执行Ctrl + R并搜索quarg,则无法找到它。通过使用end-of-history(默认情况下为M->)重新设置索引来解决此问题。