5 votes

Le curseur de l'iTerm2 ne revient pas au début de la ligne

Je ne sais pas si je manque une configuration, mais il arrive que le curseur ne puisse pas revenir au début de la ligne où commence la commande. Si j'appuie sur FN+flèche gauche, il va quelques caractères après le début de la commande, si j'appuie sur FN+flèche droite, il va bien après la fin de la ligne. On dirait qu'il pense que la ligne entière est décalée vers la droite. Voir les captures d'écran ci-jointes. Je n'ai pas pu reproduire ce phénomène volontairement. Cela se produit avec toutes sortes de commandes différentes de manière assez indéterminée :-(. Toute idée est la bienvenue, merci. FN + left arrow FN + right arrow

Matthew

7voto

shsteimer Points 8749

Notre session de débogage a donc permis de déterminer qu'il s'agit de votre personnalisation du prompt, et non d'iTerm2. Vous avez dit que la personnalisation de votre invite est :

export PS1="$(tput bold)$(tput setaf 6)\t [\W]$(tput sgr0): "

La réponse simple est de ne pas utiliser tput pour personnaliser votre invite. C'est le sgr0 qui fait probablement plus que ce que vous voulez qu'elle fasse et qui gâche les mouvements de texte en mémoire tampon.

Essayons de le faire directement avec les codes ANSI. Si vous utilisez un schéma de couleurs ANSI comme ceci vous pouvez essayer :

export PS1="${normal}${bold_blue}\t [\W]${normal}: "

Cela fonctionne parfaitement pour moi avec les combinaisons Fn-flèche pour naviguer dans la ligne.

tput est une idée intéressante, mais elle provient de l'initiative ncurses qui est une façon très avancée de réaliser des interfaces utilisateur dans des interfaces d'invite de commande en exploitant toutes sortes de fonctionnalités du terminal. Il est préférable de s'en tenir à l'ANSI ici.

1voto

ssppjj Points 83

J'ai rencontré le même problème, avec exactement les mêmes choses (iTerm, bash, et tput). J'ai ajouté $(tput sgr0) à l'avant et lancer un sous shell bash, le problème disparaît et Ctrl + A y Ctrl + E tout fonctionne correctement à partir de ce moment-là.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X