在 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 查找空格。当单词被引用且包含空格时,情况会有所不同。