在vi模式下绑定删除键

6
我正在使用oh-my-zsh的vi-mode插件。在我的.zshrc文件中,我有以下配置:
bindkey '^[[3~' delete-char

我的删除键的转义码是 ^[[3~。不过这只有在插入模式下才有效,而在命令模式下无效。当我输入

$ abcd

在命令模式下,将光标移动到行的开头,然后按del键,即可实现删除。

$ ABCd

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

2个回答

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

Zsh有多种不同的键位映射,bindkey默认会绑定普通插入模式键位。命令模式键位可以用-M vicmd选择,-a是它的快捷方式。你可以用bindkey -l列出所有键位映射。你会看到还有viopp用于按c或d等键后的移动。还有visual用于视觉选择模式。


0

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

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

没有vi-前缀的delete-char无法解决问题,但添加它可以。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接