Lorsque je tape un espace suivi du symbole de tuyau '|'
sur la ligne de commande zsh, zsh mange l'espace, en plaçant le symbole de tuyau directement contre le mot précédent. Comment puis-je l'empêcher de faire ça? Je ne suis pas sûr des conventions stylistiques possibles, mais j'aime un espace des deux côtés du symbole de tuyau pour plus de lisibilité. J'utilise oh-my-zsh à peu près hors de la boîte.
Solution
Sur la base de la réponse de mpy ci-dessous, j'ai utilisé la solution suivante:
Par défaut, ZLE_REMOVE_SUFFIX_CHARS n'est pas défini dans zsh / ohmyzsh. Lorsqu'elle n'est pas définie, elle agit comme si elle était:
ZLE_REMOVE_SUFFIX_CHARS=$' \t\n;&|'
J'ai ajouté la définition suivante à mon ~ / .zshrc:
ZLE_REMOVE_SUFFIX_CHARS=$' \t\n;&'
(tous sauf pipe) et hop, parfait! problème disparu.
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 ;-)Réponses:
Je suppose que vous voulez dire que lorsque vous
TAB
terminez une commande / un nom de fichier, un espace est ajouté automatiquement, mais après l'avoir pressé,|
il disparaît à nouveau. Sinon, je ne peux pas reproduire cet effet.Cependant, dans ce cas, la solution doit être aussi simple que
L'explication est un peu délicate, donc je cite simplement
man zshparam
la source