bash - 如何在 bash 中快速滚动到命令历史记录的最新/结尾?

标签 bash

很多时候我会使用 Ctrl-R 进行反向搜索并错误输入一些字母。 Bash 跳了数百行,而我正处于一周前使用的命令中间。

是否有快捷方式可以跳回到我最近输入的命令?

编辑:在 CentOS 服务器和 Mac OS X 上测试之后,看起来这只发生在 OS X 上。

最佳答案

我一直在为同样的问题而苦苦挣扎。

你可以通过使用 ctrl-c 中止来解决这个问题。无论您是在进行反向搜索还是使用箭头滚动浏览历史记录,中止操作都会在最后一个命令之后返回到历史记录滚动提示。

更新

这是我刚刚学到的一个很好的技巧。 Bash 和许多其他程序在底层使用 Readline 进行命令行解释。可以在 .inputrc 文件中或使用 bind 命令配置 Readline 的键绑定(bind)。绑定(bind)可以使用 Readline 提供的一些函数。例如,我在 vi 模式下使用 Bash,但我仍然喜欢使用 Emacs 风格的 ctrl-A,所以我的 .bashrc 文件中有这一行:

绑定(bind) '\C-a:beginning-of-line'

列出所有可用的 Readline 函数: 绑定(bind)-l

其中一个函数是历史终结。该功能确实如其名称所暗示的那样。这种方法与仅使用 abort 命令的区别在于,这会使您保持相同的提示。

关于bash - 如何在 bash 中快速滚动到命令历史记录的最新/结尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10201430/

相关文章:

arrays - 稀疏时,BASH 空间中的整数索引数组是否有效?

bash - 在 bash 中将条件放入猫体内

regex - 带有捕获组的有效正则表达式,但 sed 脚本不起作用

bash - 仅当程序成功时如何重定向程序的输出?

arrays - 在 BASH 中扩展数组

php - 将 PHP 变量转换为 bash 变量

bash - 在 Bash PS1 提示符中动态更改主机名

linux - 如何使用散列键(#)在 bash 中显示内容?

bash - 如何在 bash 中列出脚本中声明的变量?

Bash 命令替换 + 参数扩展