如果我在 bash 中运行以下命令:
mkdir foo
cd !$
Run Code Online (Sandbox Code Playgroud)
第二个命令将被解释为cd foo
并执行。
在 zshell 中(至少使用我当前的配置),它将进行替换,创建 command cd foo
,并将我的光标留在它的末尾,以便我必须再次按 Enter 执行。
有没有办法让它只执行命令?
小智 10
来自man zshoptions
:
HIST_VERIFY
每当用户输入带有历史扩展的一行时,不要直接执行该行;相反,执行历史扩展并将该行重新加载到编辑缓冲区中。
所以只需添加setopt no_hist_verify
到您的 .zshrc
编辑:删除破坏命令的意外单引号