Problèmes liés au curseur de l'historique du terminal Mac / iTerm


13

Si souvent, j'exécute une commande dans Terminal.app ou iTerm, appuie sur la flèche vers le haut pour revenir en arrière pour la modifier, et le curseur passe à la ligne située au-dessus ou à un endroit totalement au mauvais endroit. Cela arrive surtout lorsque la commande est si longue qu'elle passe à la ligne suivante. Parfois, ces longues commandes apparaissent toutes sur une ligne et parfois, elles s'affichent correctement sur plusieurs lignes.

Cela se produit dans iTerm et Terminal.app

Cela se produit également dans les modes vi et emacs, ce qui les rend quasiment inutilisables.

des idées? Merci!

Réponses:


20

Cela est probablement dû au fait que votre définition d'invite inclut des séquences qui ne doivent pas être comptées dans la longueur de l'invite, telles que celles permettant de définir des couleurs. Ces séquences doivent être comprises entre \[et \]pour éviter que leur longueur ne soit comptée. Voici un exemple produisant une invite entièrement rouge:

PS1='\[\033[31m\]\u@\h:\w\$\[\033[0m\]'

Cette ligne est dans le fichier de configuration (comme .bashrcou .bash_profile), pour quiconque - comme moi - qui n’a aucune idée de ce qu’il a après avoir lu la réponse.
montréaliste

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.