Étrange problème lorsque je colore mon prompt

Bonjour à tous,

Jusqu’à présent, j’utilisais deux prompt assez simple: ‘$’ pour l’utilisateur simple et ‘#’ pour root. Récemment, je me suis dit que j’allais colorisé ces deux prompt, afin de repérer plus facilement les commandes que j’ai lancée parmi la masse de ligne affichée dans mon terminal.

Seulement voilà, lorsque je modifie la variable d’environement PS1 en:

PS1='\033[1;34m$ \033[0;39m'

J’ai un problème d’affichage assez bizarre. En fait, si jamais j’essaye d’effacer une ligne à l’aide de la combinaison C-u et que cette ligne fait plus de 14 caractères, ses 14 premiers caractères ne seront pas effacés et seront considéré comme faisant partie du prompt :open_mouth:
Le même problème se pose si je remonte l’historique de mes commandes, si jamais je tombe sur une commande de plus de 14 caractères, ses 14 premiers caractères seront intégrées au prompt…

Donc par exemple cela donne:

$ ls -l | grep *.txt
$ ls -l | grep * # après un C-u, une partie de la ligne reste...

Voilà, je ne vois pas du tout d’où viens le problème et je serais heureux que l’on m’éclaire sur son origine.
Je vous remercie d’avance pour vos reponses

Bonjour,

J’ai eu un problème similaire et il était du à une erreur dans l’utilisation des couleurs.
Avec le prompt suivant j’ai un problème similaire à ce que tu décris :

PS1="\033[0;32m\n \u@\h \033[0;34m[\t] \033[0;32m\w \n\! \$ \033[0m "
En le modifiant de la manière suivante c’est Ok :

Le problème est effectivement résolu en encadrant chaque changement de couleur par []. Au final, cela me donne donc:

\[\033[1;34m\]$ \[\033[0;39m\]

Merci beaucoup :smiley: