在 bash 争论历史中前进

在 bash 争论历史中前进

我知道Alt+.可以在 bash 中显示先前的参数。

但是,如果我超出了所需的参数(按Alt+ .1 太多次)并且我想要继续,该怎么办?向前在历史上?

有相应的组合键吗?

答案1

Alt-.运行 readline函数yank-last-arg

yank-last-arg (M-., M-_)

将最后一个参数插入到上一个命令中(上一个历史记录条目的最后一个单词)。对于数字参数,其行为与 yank-nth-arg 完全相同。对 yank-last-arg 的连续调用将在历史列表中向后移动,依次插入每行的最后一个单词(或第一次调用的参数指定的单词)。提供给这些连续调用的任何数字参数都决定了历史记录的移动方向。否定参数会切换历史的方向(向后或向前)。历史扩展工具用于提取最后一个单词,就像指定了“!$”历史扩展一样。

因此,要扭转它的含义,就必须为其提供一个否定的论据。这可以通过其他函数来完成:digit-argumentuniversal-argument。第一个更容易使用,因为它已经绑定到Alt-[[:digit:]]Alt--来表示否定参数。

所以,要追溯历史Alt—— .。向前跑Alt- - Alt-.并重复Alt- .。要再次后退,请再次使用Alt- - Alt-切换方向.

相关内容