如何配置 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+Backspace或Ctrl+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