如何退出 Ctrl+R 搜索历史命令?

如何退出 Ctrl+R 搜索历史命令?

在终端中,按下Ctrl+ R,我们可以搜索命令历史记录。但是,如果我们没有找到想要的内容,我们如何才能返回目录提示符,而不显示任何搜索结果?

答案1

您可以使用组合Ctrl+ G

摘录自man readline

搜索 readline 提供在命令历史中搜索包含指定字符串的行的命令。有两种搜索模式:增量和非增量。

增量搜索在用户完成输入搜索字符串之前开始。输入搜索字符串的每个字符时,readline 都会显示历史记录中与迄今为止输入的字符串匹配的下一个条目。增量搜索只需要找到所需历史记录条目所需的字符数。要在历史记录中向后搜索特定字符串,请键入 Cr。键入 Cs 将在历史记录中向前搜索。isearch-terminators 变量值中的字符用于终止增量搜索。如果该变量尚未赋值,则 Escape 和 CJ 字符将终止增量搜索。 CG 将中止增量搜索 并恢复原始行。当搜索终止时,包含搜索字符串的历史记录条目将成为当前行。

要在历史列表中查找其他匹配的条目,请根据需要键入 Cs 或 Cr。这将在历史记录中向前或向后搜索与迄今为止键入的搜索字符串匹配的下一行。与 readline 命令绑定的任何其他键序列都将终止搜索并执行该命令。例如,换行符将终止搜索并接受该行,从而从历史列表中执行命令。移动命令将终止搜索,将找到的最后一行设为当前行,然后开始编辑。

非增量搜索会先读取整个搜索字符串,然后再开始搜索匹配的历史记录行。搜索字符串可能是用户输入的,也可能是当前行内容的一部分。

答案2

您可以使用EscCtrl+键C。两者都会让您退出搜索命令。
不同之处在于Esc会保留最后搜索的命令,但Ctrl+C会完全退出命令。

答案3

使用以下方式退出历史搜索ESC

相关内容