在 Zsh 中当前正在输入的命令行中选择给定的“单词”

在 Zsh 中当前正在输入的命令行中选择给定的“单词”

在 Zsh(非 Vim 编辑模式)中,如何重复当前输入的命令中的给定单词?例如,我可以使用以下命令提取到目前为止输入的所有内容!#

mv /example !#

成为

mv /example mv /example

但我想要的只是/example。例如

mv /example # <insert magic incantation here>

成为

mv /example /example

在上面的例子中,我可以继续输入以重命名某些内容,而无需使用触控板进行中断流程的文本选择或过多的来回命令行编辑。

答案1

您可以将小部件绑定copy-prev-shell-word到一些方便的组合键,例如CTRL+W

bindkey '^W' copy-prev-shell-word

(将此行放入您的~/.zshrc配置文件中以使其永久生效。)

这是来自的描述man zshzle

复制前一个 shell 单词类似于 copy-prev-word,但使用 shell 解析来查找单词,而 copy-prev-word 查找空格。当单词被引用且包含空格时,情况会有所不同。

相关内容