在zsh中,我可以执行它们。
$ sleep 1
$ echo !$ # !$ equals 1
$ echo !! # !! equals sleep 1
但我无法在鱼壳中执行它们。 能告诉我zsh文档的原因和位置吗?
答案 0 :(得分:4)
这是history expansion,它比那些简单的例子更多。
Fish不支持它(也可能永远不会)。通常的解决方法是使用键绑定。默认情况下,alt-up和alt-down应该通过历史记录标记,因此您可以按alt-up一次以获得有效!$
的内容。
如果您希望从历史记录中为命令添加前缀,请调用该命令,转到开头(例如使用ctrl-a)并插入所需内容。
其他可能性是绑定的功能,例如!!
要插入上一个命令或创建一个名为!!
的命令。
这仍然在fish issue #288中进行了讨论,尽管共识似乎反对添加历史扩展。