在vi模式下绑定删除键

时间:2017-04-06 07:53:55

标签: zsh oh-my-zsh

我正在使用oh-my-zsh的vi-mode插件。在我的.zshrc中,我有

bindkey '^[[3~' delete-char

其中^[[3~是我的删除键的转义码。但是,这仅适用于插入模式,但不适用于命令模式。当我输入

$ abcd

将光标移动到行的开头,然后在命令模式下点击del,我得到

$ ABCd

显然,删除键的字符序列按字面解释。如何使删除键实际上在命令模式下删除一个字符?

2 个答案:

答案 0 :(得分:6)

bindkey -a '^[[3~' delete-char

Zsh有各种不同的键映射,默认情况下,bindkey将绑定普通插入模式键映射中的键。使用-M vicmd选择命令模式键映射。 -a是此的捷径。您可以使用bindkey -l列出键盘图。您会看到还有viopp用于c或d之类的键之后的移动。视觉选择模式也是视觉效果。

答案 1 :(得分:0)

现在是2020年,我不确定@okapi的答案是否过时或只是缺了一部分,但对我来说,我必须使用:

bindkey -a '^[[3~' vi-delete-char

delete-char没有前缀vi-并不能解决问题,但添加了就可以解决问题。