シェン! !そして、!$はbashのように自動的に実行されます。

シェン! !そして、!$はbashのように自動的に実行されます。

私は最近bashからzshに切り替えました。 zshとbashの間に2つの小さな問題と違いを見つけました。私のお気に入りのショートカットのうちの2つが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オプションを削除するか、明示的に無効にすることもできます。

関連情報