如何来回反向搜索?

m-r*_*ric 17 linux search

我经常使用反向搜索,这很酷。有时虽然多次按 Ctrl+r 时,我会传递我实际正在寻找的命令。因为 Ctrl+r 在历史中向后搜索,从最新到最旧,我必须:

取消,再次搜索并准确地停在命令处,而不是通过它。在 reverse-i-search 提示中,是否可以向前搜索,即从我站到最新的位置。我天真地尝试了 Ctrl+shift+r,没有运气。我听说过 Ctrl+g 但这不是我在这里所期望的。有人有想法吗?

Ben*_*lat 29

一句话回答:stty -ixon在你的终端中运行,然后使用Ctrl+S将搜索方向从向后更改为向前。

确切的答案可能取决于您使用的外壳。但是,在 bash 和 Zsh(可能还有其他 shell)中,您(理论上)都可以输入Ctrl+S来向前搜索。因此,在点击Ctrl+R几次之后,您可以点击Ctrl+S几次以移动到您真正想要的命令。然而,许多终端在软件流控制中使用了Ctrl+SCtrl+ ,所以+永远不会被 bash;如果您希望 bash 而不是终端来读取+ ,您可以通过运行.QCtrlSCtrlSstty -ixon

  • 您可以使用`stty ixon`(不带连字符)重新启用软件流控制。 (3认同)