很多时候我会使用 Ctrl-R 进行反向搜索并错误输入一些字母。Bash 跳了数百行,而我正处于一周前使用的命令的中间。
有没有跳回我输入的最新命令的快捷方式?
编辑:在 CentOS 服务器和 Mac OS X 上对其进行测试后,看起来这只发生在 OS X 上。
很多时候我会使用 Ctrl-R 进行反向搜索并错误输入一些字母。Bash 跳了数百行,而我正处于一周前使用的命令的中间。
有没有跳回我输入的最新命令的快捷方式?
编辑:在 CentOS 服务器和 Mac OS X 上对其进行测试后,看起来这只发生在 OS X 上。
我一直在努力解决同样的问题。
您可以通过使用 ctrl-c 中止来解决此问题。无论您是在反向搜索中还是使用箭头滚动历史,中止都会在最后一个命令之后返回带有历史滚动的提示。
更新
这是我刚刚学到的一个不错的技巧。Bash 和许多其他程序在后台使用 Readline 进行命令行解释。可以在 .inputrc 文件中或使用 bind 命令配置 Readline 的键绑定。绑定可以利用 Readline 提供的一些功能。例如,我在 vi 模式下使用 Bash,但我仍然喜欢使用 Emacs 样式的 ctrl-A,所以我的 .bashrc 文件中有这一行:
绑定 '\Ca:beginning-of-line'
列出所有可用的 Readline 函数: bind -l
其中的功能是历史终结。该功能确实像它的名字所暗示的那样。这种方法与仅使用 abort 命令之间的区别在于,这使您始终处于相同的提示状态。
如果使用 libreadline,Alt->(或 Meta->)。有关Readline 快捷方式的更多信息或在手册页中搜索用于操作历史记录的命令。
在 Mac 上,试试command + .
它对我有用。我正在尝试alt+.
,alt+shift+.
但都不适合我。然后发现command + .
确实有效
您可能想尝试类似“建议框”的历史HSTR。它读取 bash 历史记录并允许快速导航和过滤 - 您可以查看类似历史记录条目的上下文。一旦您选择了一个历史条目,就可以在命令行上对其进行编辑。
也许不完全是您想要的,但是当您处于 CTRL-r(反向搜索)模式时,您可以通过使用退格来修复您输入错误的字符。