替换要在 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+r即可调用。Alt+g重复上次替换。info zsh replace-string详情请参阅。

相关内容