zshで実行するコマンドの文字列を置き換える

zshで実行するコマンドの文字列を置き換える

次のコマンドを作成しましたが、Enterキーを押して実行しなかったとします。

$ ls dir1 dir2 dir3

任意の場所で手動で文字を変更せずに指定された文字を置き換える方法はありますか?たとえば、一部のショートカットを押して置換する文字列(例dir:)を入力し、置き換える別の文字列(「ディレクトリ」など)を入力したいとします。

答え1

自動的にロードされるウィジェットがありますreplace-string。以下に追加します~/.zshrc

autoload replace-string
zle -N replace-string
zle -N replace-string-again
bindkey '\eg' replace-string-again
bindkey '\er' replace-string

その後、電話をかけるにはタップしますAlt+rAlt+g最後の交換を繰り返します。info zsh replace-string詳細より。

関連情報