Como posso voltar ao modo de edição “normal” depois de pressionar esc em zsh (modo vi)?

5

Estou usando zsh em vi-mode .

Quando eu vou para o modo normal com ESC e, em seguida, de volta ao modo de inserção (por exemplo, usando i , a ou s ), o tipo de editor de linha "protege" a parte da linha na frente do caractere, na qual eu estava ao entrar novamente no modo de inserção.

Eu consertei o char backspace, religando-o com

bindkey "^?" backward-delete-char

Mas ainda há outras ligações como ^W que não funcionam fora da caixa (provavelmente porque estão vinculadas a vi-* ).

Se eu entendi corretamente, esse comportamento é normal para vi .

Existe uma maneira de fazer o zle se comportar como vim sem precisar religar tantas chaves?

    
por groxxda 04.07.2014 / 15:57

1 resposta

3

AFAICT, os únicos widgets problemáticos são:

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

Então você poderia fazer

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
    
por 04.07.2014 / 16:41

Tags