Para que self-insert
serve 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 a
está 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. bindkeys
mostrou "/"-"~" 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