我使用!$
lot 。 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$
)不会检索最后一个arg的方式保存它,它会检索整个命令。
我该怎么办?我已经尝试取出双引号,因此$1
扩展了。但它仍未完全扩展。希望有人确切知道问题是什么。
也许print -sr
只是错误的命令。
答案 0 :(得分:0)
邮件列表救援!
很高兴有人来过这里。http://comments.gmane.org/gmane.comp.shells.zsh.user/11785
解决方案:
print -Sr
(不确定我是否需要-r
)