Para que serve a `auto-inserção`?

Para que serve a `auto-inserção`?

Para que self-insertserve no zsh? Eu vejo isso em todos os lugares nas configurações do prezto, mas não consigo entender o que ele deve fazer. A documentação do ZLE também não especifica o que é, mas menciona-o em alguns contextos diferentes.

Responder1

Quando vinculada a uma chave, esta função insere a própria chave como um caractere de entrada. Por exemplo, a tecla aestá vinculada a self-insert, portanto, pressionar a tecla faz com que "a" seja inserido.

Dezshzle(1)página de manual (zsh versão 5.5.1):

  self-insert (printable characters) (unbound) (printable characters and some con‐
  trol characters)
         Insert a character into the buffer at the cursor position.

Para efeito de comparação, a partir dolinha de leitura (3)página de manual (bash versão 4.4.023):

  self-insert (a, b, A, 1, !, ...)
         Insert the character typed.

Responder2

Da documentação,

Qualquer outro caractere que não esteja vinculado à auto-inserção ou auto-inserção-unmeta emitirá um bipe e será ignorado.

Eu estava mexendo com minha concha e amarrei '.' a uma função e, em seguida, desvincule-a. De repente, eu não conseguia digitar um ponto em lugar nenhum. bindkeysmostrou "/"-"~" self-insert, mas em outra casca limpa estava "/"-"-" self-insert. O personagem foi completamente ignorado, até mesmo para recortar e colar.

Para recuperar meu ponto, tive que vinculá-lo à inserção automática:

bindkey '.' self-insert

informação relacionada