嘘!!和 !$ 像在 bash 中一样自动执行

嘘!!和 !$ 像在 bash 中一样自动执行

我最近从 bash 切换到 zsh。我发现了两个微小的问题以及 zsh 和 bash 之间的差异。当我最喜欢的两个快捷方式的行为与 bash 中的行为不同时,我感到有点!!失望!$

当我尝试使用参数快捷方式执行以下操作时(抱歉我不知道它们的正式名称),它们会在 bash 中自动执行,如下所示:

$ touch foo
$ vim !$
<file opens immediately>

在 zsh 中,它们会被翻译然后执行(我必须额外按一次 Enter 键):

$ touch foo
$ vim !$
$ vim foo

有没有办法让zsh 中的!$& 的!!行为与 bash 中的行为相同?

答案1

man zshoptions

HIST_VERIFY
    Whenever the user enters a line with history expansion,  don't  execute  the  line
    directly;  instead, perform history expansion and reload the line into the editing buffer.

要禁用此选项,请运行setopt no_hist_verify.您还可以查看您的配置文件并删除 hist_verify 选项或只是显式禁用它。

相关内容