我用!$了很多。cat some-long-file. 然后我想编辑它。必须使用!$:vim !$
现在有了这样的定义:
zshaddhistory () {
   print -sr "${1%%$'\n'}"
   # some other stuff
   fc -p
}
起初,这一切似乎都可以正常工作(几周以来,我认为我很好),但很快就发现它!$不再正常工作了。
我看了man zshbuiltins看fc和print。
但这些都不足以让我理解这种print -sr fc -p疯狂是什么。
看起来它"${1%%$'\n'}"根本不做与默认zsh行为相同的事情。它以一种!$(或例如!-5$)不会检索最后一个参数的方式保存它,而是检索整个命令。
我能做些什么?我试过去掉双引号,所以$1被扩展了。但它仍然没有被完全扩展。希望有人确切地知道问题所在。
也许print -sr只是错误的命令。