zsh 杀 Ctrl + 退格键、Ctrl + 删除

zsh 杀 Ctrl + 退格键、Ctrl + 删除

如何配置 zsh 以便Ctrl+Backspace杀死点之前的单词?如何实现Ctrl+Delete杀死点后的单词?

我使用 urxvt 作为终端模拟器。

答案1

将以下内容添加到您的~/.zshrc

bindkey '^H' backward-kill-word
bindkey '5~' kill-word

答案2

我首先关注Ctrl+ Delete

向前删除整个单词的 zsh 命令称为kill-word。默认情况下它绑定到Alt+ D

如何制作Ctrl+Delete也取决于您使用的终端模拟器。

在我的系统上,这适用于 xterm 和 Gnome 终端:

bindkey -M emacs '^[[3;5~' kill-word

对于 urxvt,你应该这样做:

bindkey -M emacs '^[[3^' kill-word

如果这不起作用,请尝试输入Ctrl+ V Ctrl+Delete以查看系统上的值。

您甚至可以将它们一起添加到您的 中.zshrc,或者使用 的输出tput kDC5而不是对序列进行硬编码。

Ctrl+Backspace似乎更难。

在我的系统上,按 与仅按 相同Backspace

如果你的也是一样,我认为你最好的选择是使用Alt+BackspaceCtrl+W代替。

答案3

在 urxvt 上,对于向后删除部分,我只需以下.zshrc内容:

bindkey '^H' backward-kill-word

它允许我用 ctrl+backspace 删除前一个单词

答案4

事实上showkey -a我的 Kali 的输出是:

  • Ctrl+Backspace^?

  • Backspace^H

所以这里接受的答案只是让我Backspace删除单词。

对于任何碰巧有相同行为的人,请在您的~/.zshrc文件中添加以下行:

bindkey '^?' backward-kill-word

相关内容