鱼壳里的双感叹号

shi*_*mk2 6 fish

在 zsh 中,我可以执行它们。

$ sleep 1
$ echo !$ # !$ equals 1
$ echo !! # !! equals sleep 1
Run Code Online (Sandbox Code Playgroud)

但我无法在鱼壳中执行它们。可以告诉我为什么以及 zsh 文档在哪里吗?

fah*_*aho 6

这是历史扩展,它比那些简单的例子有更多内容。

Fish 不支持其中任何一个(并且可能永远不会)。通常的解决方法是使用键绑定。默认情况下,alt-up 和 alt-down 应该逐个历史记录,因此您可以按一次 alt-up 来获取有效的内容!$

如果您希望在历史命令中添加某些内容,请调用该命令,转到开头(例如使用 ctrl-a)并插入您想要的内容。

其他可能性是绑定!!到某些东西以插入前一个命令或创建一个名为 的命令的函数!!

尽管共识似乎反对添加历史扩展,但在Fish 问题 #288中仍在讨论这一点。