Il semble que la flèche soit en fait du texte, imprimé par votre shell dans le cadre de l'invite. Pour autant que je sache, Terminal est limité à une seule taille de texte dans toute la fenêtre, de sorte que vous ne pouvez pas vraiment redimensionner la flèche sans redimensionner également tout le reste. Vous pouvez essayer de passer la police au peigne fin pour obtenir une flèche plus grande.
Quant aux espaces, il semble y avoir un caractère d'espace explicite après la flèche, puis un autre avant les séquences de changement de couleur dans votre invite. Vous pouvez toujours les supprimer pour rendre les choses un peu plus serrées.
Vous avez également quelques constructions %{...%} apparemment vides. Cela me fait penser qu'il y a en fait des caractères non imprimables, contenant probablement des codes de contrôle du terminal, peut-être pour mettre du texte, comme une horloge, ailleurs dans la fenêtre. Il est possible que ces caractères non imprimables génèrent d'une manière ou d'une autre des espaces indésirables.
Il semble que vous devriez vous renseigner sur le fonctionnement de la génération d'invites dans zsh. Ceci est documenté dans la page de manuel zshmisc, que vous pouvez atteindre en exécutant man zshmisc
(pour la documentation de premier niveau, exécutez man zsh
).