0

我用!$很多cat some-long-file. 然后我想编辑它。必须使用!$vim !$

现在有了这样的定义:

zshaddhistory () {
   print -sr "${1%%$'\n'}"
   # some other stuff
   fc -p
}

起初,这一切似乎都可以正常工作(几周以来,我认为我很好),但很快就发现它!$不再正常工作了。

我看了man zshbuiltinsfcprint

但这些都不足以让我理解这种print -sr fc -p疯狂是什么。

看起来它"${1%%$'\n'}"根本不做与默认zsh行为相同的事情。它以一种!$(或例如!-5$)不会检索最后一个参数的方式保存它,而是检索整个命令。

我能做些什么?我试过去掉双引号,所以$1被扩展了。但它仍然没有被完全扩展。希望有人确切地知道问题所在。

也许print -sr只是错误的命令。

4

1 回答 1

0

邮件列表来救援!

很高兴有人来过这里。

http://comments.gmane.org/gmane.comp.shells.zsh.user/11785

解决方案:

print -Sr

(不确定我是否需要-r

于 2013-07-26T05:41:10.000 回答