Qu'est-ce que self-insert
est pour dans zsh ? Je le vois partout dans les configurations de prezto mais je n'arrive pas à comprendre ce qu'il est censé faire, la documentation de ZLE ne précise pas non plus ce que c'est, mais le mentionne dans certains contextes différents.
Réponses
Trop de publicités?Lorsqu'elle est liée à une touche, cette fonction insère la touche elle-même comme caractère d'entrée. Par exemple, la clé a
est lié à self-insert
L'appui sur la touche provoque donc la saisie de "a".
De la zshzle(1) page de manuel (zsh version 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.
À titre de comparaison, à partir du readline(3) page de manuel (bash version 4.4.023) :
self-insert (a, b, A, 1, !, ...) Insert the character typed.
Dans la documentation,
Tout autre personnage qui n'est pas lié à l'auto-insertion ou à la self-insert-unmeta émettra un bip et sera ignoré.
Je m'amusais avec mon Shell et j'ai lié '.' à une fonction, puis je l'ai délié. Soudain, je ne pouvais plus taper de point, nulle part. bindkeys
a montré "/"-"~" self-insert
mais dans un autre Shell propre c'était "/"-"-" self-insert
. Le caractère a été complètement ignoré, même pour le copier-coller.
Pour récupérer mon point, j'ai dû le lier à l'auto-insertion :
bindkey '.' self-insert