我想将zsh
其剪切、复制和粘贴命令(或者可能称为小部件 idk)配置并绑定到不同的转义序列,即我的终端程序发送的转义序列。问题是我不知道cut
,copy
和paste
命令是什么zsh
。
我搜索并阅读man zshzle
但无济于事。有人知道吗 ?
这基本上就是我在我的项目中尝试做的事情.zshrc
:
bindkey '^[x' cut
bindkey '^[c' copy
bindkey '^[v' paste
但不知道实际正确的cut
命令copy
是paste
什么......
答案1
(是的,你是对的,键盘命令在 Zsh 中被称为“小部件”。)
如果您正在使用Zsh 的emacs
键盘映射(你可能是这样,因为它是默认的),然后cut
, copy
&paste
被称为kill
, copy
and yank
(因为它们在Emacs)。
然而,虽然确实有
后两者实际上并不常用。这是因为在终端中选择文本通常是一件很痛苦的事情。 (它涉及使用set-mark
小部件.)
相反,有kill
命令行各个部分的许多小部件,无需选择任何文本。使用它们要快得多,如果连续使用它们,中间没有按其他按键,则被杀死的文本将被连接起来。例如,如果您backward-kill-word
连续三次,然后稍后您yank
,您将立即返回所有三个单词,按照它们最初出现的顺序。
但请注意,从长远来看,您最好不要为自己定义新的键绑定,而是学习并习惯 Zsh 的emacs
各种kill
小部件的默认键绑定,因为这些相同或相似的键盘快捷键通常用于许多小部件中。 Unix shell 和 shell 程序。
最后,还有两个关于kill
和 的提示yank
:
- 就像 Emacs 一样,Zsh 实际上有多个剪贴板。与 Emacs 中一样,这些统称为“杀环”。如果您在同一会话中的不同场合使用过
kill
多次(因此,不是连续使用),那么在按 后yank
,您可以按yank-pop
在杀戮环中的不同杀戮之间循环。 - 很难不由自主地跟踪杀戮环中的内容。这就是为什么我写了一个名为 的插件
zsh-edit
,它会自动向您显示杀戮环中的内容。尝试一下!它使这一切变得更加容易。