Bug d'affichage dans le shell (zsh) (du aux couleurs du prompt?) [Résolu/Fermé]

Signaler
-
 Utilisateur anonyme -
Bonjour,

Utilisant un terminal avec zsh sous mac os, je cherchais à résoudre le problème suivant :
J'ai modifié le .zshrc de manière à obtenir successivement dans mon prompt l'heure, le chemin en partant de $home et ceci en ajoutant des couleurs pour améliorer.
Cela semble être ce qui provoque un bug étrange : un décalage du curseur lors de certaines manipulations comme l'auto-completion ou d'un retour loin en arrière dans la ligne pour l'édition d'une commande avant sa validation.
cela se met à écrire loin après sans que ça n'ait forcément effacé l'affichage précédent de la commande, c'est extrêmement handicapant pour taper les commandes un peu longues!

voici le prompt tel que je l'ai inséré dans le .zshrc :
PS1=$'\e[0;31m%t \e[0m\e[0;32m%~/\e[0m\e[0;33m-$\e[0m '


je pense que c'est l'ajout de couleurs qui provoque ce problème d'affichage, je ne suis cependant pas assez calé pour expliquer et résoudre ce problème.

Je vous remercie par avance pour vos suggestions!

2 réponses

Messages postés
18240
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
30 novembre 2020
5 250
essayer
PS1="%{%F{red}%}%t %{%F{green}%}%~ / %{%F{yellow}%}$ %{%F{black}%}"
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Utilisateur anonyme
Cela semble fonctionner parfaitement comme ceci! merci! :)
J'ai juste changé le "black" de la fin en "default" par contre.
Messages postés
36299
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 084
Salut,

Les explications (en anglais) .

Comme expliqué, tput est une bonne alternative ;-))
Messages postés
36299
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 084
Messages postés
18240
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
30 novembre 2020
5 250
hello
il veut du zsh, d'où les %t au lieu de \t en bash
Messages postés
36299
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 084
Salut,

Merci, j'avions pas fait gaffe ;-(

Mais s'il n'y a que ça, suffira de faire la translation ;-))
Utilisateur anonyme
je n'arrive pas à faire fonctionner l'une ou l'autre de ces solutions

export PS1='\[\e[0;31m\]%t \[\e[0m\]\[\e[0;32m\]%~/\[\e[0m\]\[\e[0;33m\]-$\[\e\
[0m\] '


PS1=$'\[$(tput bold)$(tput setb 4)$(tput setaf 7)\]~ $ \[$(tput sgr0)\]'


Cela affiche juste des crochets dans le prompt avec ces solutions