Zsh

在 zsh (vi 模式)中按 esc 後如何返回“正常”編輯模式?

  • July 5, 2014

我正在使用zsh.vi-mode

當我進入正常模式,ESC然後返回插入模式(例如使用i,as)時,行編輯器有點“保護”字元前面的行部分,我在重新進入插入模式.

我通過重新綁定它來修復退格字元

bindkey "^?" backward-delete-char

但是還有其他類似^W的綁定不能開箱即用(可能是因為它們綁定到vi-*)。

如果我理解正確,這種行為是正常的vi

有沒有一種方法可以讓zle行為變得像vim而不必重新綁定這麼多鍵?

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

引用自:https://unix.stackexchange.com/questions/140770