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

Résolu/Fermé
Utilisateur anonyme - 21 août 2013 à 07:20
 Utilisateur anonyme - 22 août 2013 à 13:10
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 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
22 août 2013 à 11:23
essayer
PS1="%{%F{red}%}%t %{%F{green}%}%~ / %{%F{yellow}%}$ %{%F{black}%}"
2
Utilisateur anonyme
22 août 2013 à 13:10
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
21 août 2013 à 09:12
Salut,

Les explications (en anglais) .

Comme expliqué, tput est une bonne alternative ;-))
1
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
21 août 2013 à 12:08
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
21 août 2013 à 12:35
hello
il veut du zsh, d'où les %t au lieu de \t en bash
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
21 août 2013 à 13:15
Salut,

Merci, j'avions pas fait gaffe ;-(

Mais s'il n'y a que ça, suffira de faire la translation ;-))
0
Utilisateur anonyme
22 août 2013 à 09:24
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