在 zsh(vi 模式)中按 esc 后如何返回“正常”编辑模式?

在 zsh(vi 模式)中按 esc 后如何返回“正常”编辑模式?

我正在使用zshvi-mode

当我进入正常模式,ESC然后返回插入模式(例如使用i,as)时,行编辑器会“保护”字符前面的行部分,即我重新进入插入模式时所在的部分。

我通过重新绑定它来修复退格字符

bindkey "^?" backward-delete-char

但仍有其他类似的绑定^W无法开箱即用(可能是因为它们绑定到vi-*)。

如果我理解正确的话,这种行为是正常的vi

有没有一种方法可以让zle行为变得像vim而不必重新绑定这么多键?

答案1

AFAICT,唯一有问题的小部件是:

vi-backward-delete-char
vi-kill-line
vi-backward-kill-word

所以你可以做

zle -A kill-whole-line vi-kill-line
zle -A backward-kill-word vi-backward-kill-word
zle -A backward-delete-char vi-backward-delete-char

相关内容