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