ZLE_REMOVE_SUFFIX_CHARS
/ ZLE_SPACE_SUFFIX_CHARS
Ces paramètres sont utilisés par l'éditeur de ligne. Dans certaines circonstances, les suffixes (généralement l'espace ou la barre oblique) ajoutés par le système d'achèvement seront supprimés automatiquement, soit parce que la prochaine commande d'édition n'était pas un caractère insérable, soit parce que le caractère a été marqué comme nécessitant la suppression du suffixe.
Ces variables peuvent contenir les jeux de caractères qui entraîneront la suppression du suffixe. Si ZLE_REMOVE_SUFFIX_CHARS
est défini, ces caractères entraîneront la suppression du suffixe; si ZLE_SPACE_SUFFIX_CHARS
est défini, ces caractères entraîneront la suppression du suffixe et son remplacement par un espace.
Si ZLE_REMOVE_SUFFIX_CHARS
n'est pas défini, le comportement par défaut équivaut à:
ZLE_REMOVE_SUFFIX_CHARS=$' \t\n;&|'
Si ZLE_REMOVE_SUFFIX_CHARS
est défini mais vide, aucun caractère n'a ce comportement. ZLE_SPACE_SUFFIX_CHARS
a priorité, de sorte que les éléments suivants:
ZLE_SPACE_SUFFIX_CHARS=$'&|'
provoque les caractères &
et |
supprime le suffixe mais le remplace par un espace.
Pour illustrer la différence, supposons que l'option AUTO_REMOVE_SLASH
est en vigueur et que le répertoire DIR vient d'être terminé, avec une annexe /
, à la suite de laquelle l'utilisateur tape &
. Le résultat par défaut est DIR&
. Avec ZLE_REMOVE_SUFFIX_CHARS
set mais sans inclure &
le résultat est DIR/&
. Avec l' ZLE_SPACE_SUFFIX_CHARS
ensemble pour inclure &
le résultat est DIR &
.
Notez que certains compléments peuvent fournir leur propre comportement de suppression ou de remplacement de suffixe qui remplace les valeurs décrites ici.
zsh -f
(pour sauter le chargement de votre configuration). Vous remarquerez que zsh ne fera plus cela. Ensuite, vous devrez creuser (très probablement) dans oh-my-zsh pour comprendre comment cela provoque cela ;-)