4 votes

A quoi sert l'auto-insertion ?

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.

3voto

James Mertz Points 390

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.

1voto

andrew lorien Points 541

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X