146

reverse-i-search经常使用,这很酷。有时,尽管多次按CTRL+时,我会传递我实际正在寻找的命令。因为+在历史上向后搜索,从最新到最旧,我必须:rCTRLr

  1. 取消,
  2. 再次搜索并
  3. 完全停在命令处,而不通过它。

reverse-i-search提示时,是否可以向前搜索,即从我所在的位置到最新的位置。我天真地尝试了CTRL++ ,没有运气。我听说过+但这不是我在这里所期望的。有人有想法吗?ShiftrCTRLg

4

3 回答 3

93

这里有一个类似的问题:

bash 中的 Control-r reverse-i-search:如何“重置”Cygwin 中的搜索?

在超级用户上找到另一个类似的问题:

Bash 中的(反向搜索)

显然,两者都提到Ctrl+ s,这可能会奏效。

希望有帮助。我自己正在尝试找到一段代码reverse-i-search来检查它是如何实现的。

于 2013-03-06T09:35:56.013 回答
53

CTRL+S

...使用后为我解决了...

stty -ixon

如果 CTRL+S 对您不起作用是因为根据Vincenzo Pii在另一个相关线程中接受的答案:

问题在于,在许多终端中,默认情况下使用此绑定来发送暂停传输代码(XOF)。

man stty

[-]ixon
    enable XON/XOFF flow control

因此,如果您在终端上启用了此选项(stty -a包含ixon前面-没有符号的输出),则不能在reverse-i-search的上下文中使用CTRL+ 。S

要禁用它,请使用以下命令:

stty -ixon

CTRL+S会给你一个(i-search)(非反向)。

于 2016-03-31T10:42:51.617 回答
4

尝试delete,神奇地工作。

其他人指向CTRL+ s,但它对我不起作用。

于 2014-01-27T22:04:48.320 回答