J'essaie de résoudre un problème mineur (mais ennuyeux) avec mon invite zsh. Le problème que je vois est que lorsque j'utilise un terminal dans un environnement de GUI OS (par exemple, Terminal.app ou iTerm 2 sur OS X 10.7.2) et que je redimensionne la fenêtre du terminal, le terminal est redessiné avec des invites supplémentaires .
J'ai reproduit le problème sur un fichier .zshrc propre qui contient les éléments suivants:
export PROMPT=">
"
Pour être clair, c'est un fichier de deux lignes. Il y a une nouvelle ligne littérale dans la chaîne, que j'ai lue à plusieurs endroits ( certes anciens ) est la voie à suivre. Cela fonctionne jusqu'à ce que je redimensionne la fenêtre du terminal, auquel cas je me retrouve avec des chaînes d'invite en double. Par exemple, si j'ouvre une nouvelle fenêtre, je vois ( *
étant utilisé un espace réservé pour mon curseur):
Last login: Wed Jan 25 19:05:06 on ttys000
>
*
Puis quand je redimensionne la fenêtre, la raccourcissant, je me retrouve avec:
Last login: Wed Jan 25 19:05:06 on ttys000
>
>
>
>
*
Le nombre d'impressions supplémentaires rapides semble à peu près proportionnel à la façon dont je modifie la taille de la fenêtre - généralement verticalement. Si je supprime la nouvelle ligne de la chaîne d'invite, le problème disparaît.
J'ai essayé différentes choses, comme $(print ">\n")
ou essayer de boucler la nouvelle ligne %{%}
. Je suppose que cela a à voir avec le fait que la nouvelle ligne confond tout ce qui dessine par rapport à la longueur réelle de la chaîne d'invite, ou quelque chose. Ce problème peut-il être résolu ou dois-je simplement vivre avec?
print
soit une commande spécifique à ZSH, et googler "linux print" ne vous donne pas de très bons résultats.print
fait partie de zsh. Vous pouvez voir l'aide à ce sujet dansman zshbuiltins
. Bash a son propre équivalent, mais je ne suis pas sûr qu'ils soient compatibles.Que diriez-vous quelque chose comme ça:
la source