我正在尝试创建命令历史记录的模拟,但是对于输出命令,以便我可以执行例如locate filename
(可能会显示一些文件),然后vim %2
(或其他)编辑第二个。
到目前为止我有:
my-ret() {
print -n " : `date +%s` : " >>~/.zsh-output
BUFFER+=" >&1 >>~/.zsh-output"
zle accept-line
}
zle -N my-ret
bindkey '\e\r' my-ret
但这会添加ls -l >&1 >>~/.zsh-output
到我的命令历史记录中。
我找到了print -s
可以用来将原始命令添加$BUFFER
到命令历史记录中的命令。但是执行修改后的行不会也会将其添加到历史记录中吗?
我想我想要执行命令但不将其添加到历史记录中的东西。