vi模式绑定删除键
Bind delete key in vi mode
我正在使用 oh-my-zsh 的 vi-mode 插件。在我的 .zshrc
中,我有
bindkey '^[[3~' delete-char
其中 ^[[3~
是我的删除键的转义码。但是,这只适用于插入模式,而不能用于命令模式。当我输入
$ abcd
将光标移动到行首并在命令模式下点击del
,我得到
$ ABCd
显然删除键的字符序列是按字面解释的。如何让delete键在命令模式下真正删除一个字符?
bindkey -a '^[[3~' delete-char
Zsh 有多种不同的键映射,默认情况下,bindkey 将绑定普通插入模式键映射中的键。使用 -M vicmd
选择命令模式键盘映射。 -a
是一个捷径。您可以使用 bindkey -l
列出键盘映射。你会看到还有 viopp
用于在像 c 或 d 这样的键之后移动。视觉选择模式也有 visual。
现在是 2020 年了,我不确定 @okapi 的回答是否过时或只是遗漏了一部分,但对我来说,我不得不使用:
bindkey -a '^[[3~' vi-delete-char
不带 vi-
前缀的 delete-char
没有效果,但添加了它。
我正在使用 oh-my-zsh 的 vi-mode 插件。在我的 .zshrc
中,我有
bindkey '^[[3~' delete-char
其中 ^[[3~
是我的删除键的转义码。但是,这只适用于插入模式,而不能用于命令模式。当我输入
$ abcd
将光标移动到行首并在命令模式下点击del
,我得到
$ ABCd
显然删除键的字符序列是按字面解释的。如何让delete键在命令模式下真正删除一个字符?
bindkey -a '^[[3~' delete-char
Zsh 有多种不同的键映射,默认情况下,bindkey 将绑定普通插入模式键映射中的键。使用 -M vicmd
选择命令模式键盘映射。 -a
是一个捷径。您可以使用 bindkey -l
列出键盘映射。你会看到还有 viopp
用于在像 c 或 d 这样的键之后移动。视觉选择模式也有 visual。
现在是 2020 年了,我不确定 @okapi 的回答是否过时或只是遗漏了一部分,但对我来说,我不得不使用:
bindkey -a '^[[3~' vi-delete-char
vi-
前缀的 delete-char
没有效果,但添加了它。