向后搜索Bash中的历史记录吗?


8

在Bash中,当我点击时Ctrlr,我可以向后搜索命令历史记录。如果我想再次搜索,该怎么办?(该方法Ctrls无效)。

我的重击是: GNU bash, version 4.2.25(1)-release (i686-pc-linux-gnu)


Ctrl-S应该可以工作。至少它可以在xterm上在我的机器上运行。如果这不起作用,请键入stty -ixon
vinc17 2014年

您的shell是否与锁定ctrl-s,并与恢复ctrl-q?如果是这样,则需要禁用流控制。(告诉我们是否这样做,以便我们提供正确的帮助)
ctrl-alt-delor 2014年

2
使用流控制时,Ctrl-S停止流,而Ctrl-Q重新启用它。这就是为什么它可以解决您的问题。如今,流量控制已无用。我建议您使用禁用它stty -ixon(将其放入交互式shell的shell启动文件中)。
vinc17 2014年

3
2)您只能前进,后退之后:您无法前进到以后输入的内容,计算机不够聪明,无法弄清楚。
ctrl-alt-delor 2014年

1
流量控制用于暂停输出,如果计算机的输出速度很快,但速度不太快,以致您无法大致看到它的位置,则很有用。如今,它已无用,因为计算机可以快速使其变得有用。(一些软件可能足够快地做出反应,因此可以在其中使用。例如,TCP中使用了其他流控制协议)但是,总而言之,如果禁用它,您将不会错过它。
ctrl-alt-delor 2014年

Answers:


10

您的tty可能设置了ixonixany位。

ixon启用XON / XOFF流控制,因此当您点击时CtrlS,tty设备将停止输出。但是,这ixany意味着任何其他键都将重新启动输出,因此大多数人不会注意到它曾经停止过。

有些人认为流控制很有用,但是您可以通过运行以下命令禁用它:

stty -ixon

然后CtrlS应能按预期工作以进行bash搜索。

您可能需要将其添加到您的~/.bashrc

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.