Como ativar todas as teclas de ligação padrão do vi-editing-mode no bash?

1

Estou usando o modo de edição de vi no Bash. De acordo com man readline , existem algumas chaves de ligação padrão que funcionam no modo de edição de vi. Algumas teclas funcionam bem, mas algumas outras teclas padrão não funcionam.

Por exemplo, man readline diz,

VI Command Mode functions
...
         "C-E"  emacs-editing-mode
...

Mas bind -p na minha caixa linux diz que o 'emacs-editing-mode' não está ligado a nenhuma chave.

$ bind -p | grep emacs-editing
# emacs-editing-mode (not bound)

Esta é uma situação normal? Como ligar todas as teclas de ligação padrão do vi-editing-mode no bash? Tenho que ligar as chaves manualmente em .inputrc?

    
por MS.Kim 08.05.2014 / 04:55

1 resposta

1

O Bash modifica algumas ligações de readline padrão, incluindo esta. O código está na % funçãoinitialize_readline em bashline.c .

/* In Bash, the user can switch editing modes with "set -o [vi emacs]",
   so it is not necessary to allow C-M-j for context switching.  Turn
   off this occasionally confusing behaviour. */

As teclas de mudança de modo são as únicas que não estão ligadas. Algumas chaves adicionais são ligadas (por exemplo, para conclusão específica do bash como M-$ para completar nomes de variáveis).

    
por 08.05.2014 / 05:32

Tags