这是我的片段alias hst="history 1 -1 | cut -c 8- | uniq | fzf "
。当我运行时hst
输出是
$ ~ hst
(the output from hst)
$
这就是我要的
$ ~ hst
$ (the output from hst)
例子
$ ~ hst
vi .zshrc
$
应该
$ ~ hst
$ vi .zshrc
如何解决这个问题? (或增强脚本)
答案1
要将某些内容添加到 shell 输入堆栈,就好像它是由用户输入的一样,您可以使用print -z
:
hst() {
local cmd
cmd=$(print -rNC1 -- ${(u)history} | fzf --read0 "$@") &&
print -rz -- $cmd
}