我正在使用oh-my-zsh的vi-mode插件。在我的.zshrc
中,我有
bindkey '^[[3~' delete-char
其中^[[3~
是我的删除键的转义码。但是,这仅适用于插入模式,但不适用于命令模式。当我输入
$ abcd
将光标移动到行的开头,然后在命令模式下点击del
,我得到
$ ABCd
显然,删除键的字符序列按字面解释。如何使删除键实际上在命令模式下删除一个字符?
答案 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-
并不能解决问题,但添加了就可以解决问题。