Bug d'affichage dans le shell (zsh) (du aux couleurs du prompt?)

Résolu
Utilisateur anonyme -  
 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!
A voir également:

2 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
essayer
PS1="%{%F{red}%}%t %{%F{green}%}%~ / %{%F{yellow}%}$ %{%F{black}%}"
2
Utilisateur anonyme
 
Cela semble fonctionner parfaitement comme ceci! merci! :)
J'ai juste changé le "black" de la fin en "default" par contre.
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Salut,

Les explications (en anglais) .

Comme expliqué, tput est une bonne alternative ;-))
1
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
il veut du zsh, d'où les %t au lieu de \t en bash
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Salut,

Merci, j'avions pas fait gaffe ;-(

Mais s'il n'y a que ça, suffira de faire la translation ;-))
0
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
0