zsh kill Ctrl + Backspace, Ctrl + Delete

stu*_*ent 11 zsh line-editor

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

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

Mik*_*kel 12

我将首先关注Ctrl+ Delete

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

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

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

bindkey -M emacs '^[[3;5~' kill-word
Run Code Online (Sandbox Code Playgroud)

对于 urxvt,你应该这样做:

bindkey -M emacs '^[[3^' kill-word
Run Code Online (Sandbox Code Playgroud)

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

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

Ctrl+Backspace似乎更难。

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

如果您的相同,我认为您最好的选择是使用Alt+BackspaceCtrl+W代替。


小智 6

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

bindkey '^H' backward-kill-word
bindkey '5~' kill-word
Run Code Online (Sandbox Code Playgroud)

  • 我正在使用 xfce-terminal,这可以工作,但不是公认的答案 (2认同)

小智 5

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

bindkey '^H' backward-kill-word

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