Pour mieux reconnaître le début et la fin de la sortie sur une ligne de commande, je souhaite modifier la couleur de mon invite afin qu'elle soit visiblement différente de la sortie du programme. Pendant que j'utilise zsh, quelqu'un peut-il me donner un indice?
Réponses
Trop de publicités? Mettez ceci en ~/.zshrc
:
autoload -U colors && colors
PS1="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% "
Couleurs prises en charge:
Rouge, bleu, vert, cyan, jaune, magenta, noir et blanc (d'après cette réponse ) bien que différents ordinateurs puissent avoir différentes options valides.
Codes de couleur surround (et tout autre caractère non imprimable) avec %{....%}
. Ceci est pour que le retour à la ligne fonctionne correctement.
Zsh est livré avec des invites de couleur intégrées. Essayer
autoload -U promptinit && promptinit
puis prompt -l
répertorie les invites disponibles, -p fire
prévisualisations l'invite " le feu", -s fire
le met.
Lorsque vous êtes prêt à ajouter une invite, ajoutez quelque chose comme ceci sous la ligne de chargement automatique ci-dessus:
prompt fade red
Voici un exemple de configuration d'un rouge invite:
PS1=$'\e[0;31m$ \e[0m'
La magie est l' \e[0;31m
(tourner sur le rouge au premier plan) et \e[0m
(éteindre les attributs de caractères). Celles-ci sont appelées séquences d'échappement. Les différentes séquences d'échappement de vous donner des résultats différents, d'une façon absolue positionnement du curseur, la couleur, pour être en mesure de modifier la barre de titre de la fenêtre, et ainsi de suite.
Pour en savoir plus sur les séquences d'échappement, voir l'article de wikipédia sur les codes d'échappement ANSI
Je ne pense pas que le autoload -U colors && colors
est nécessaire et on peut simplement faire:
PS1="%{%F{red}%}%n%{%f%}@%{%F{blue}%}%m %{%F{yellow}%}%~ %{$%f%}%% "
obtenir le même résultat que la réponse de FireDude . Voir la documentation ZSH pour plus d'informations.
l'homme zshall et de recherche rapide EXPANSION
Après la lecture de l'existant réponses ici, plusieurs d'entre eux sont contradictoires. J'ai essayé les différentes approches sur les systèmes exécutant zsh 4.2 et 5+ et a constaté que la raison pour laquelle ces réponses sont contradictoires, c'est qu'ils ne disent pas quelle est la version de ZSH ils sont ciblés. Les différentes versions d'utiliser une syntaxe différente pour cette et certaines d'entre elles nécessitent divers charge automatiquement quand.
Donc, le meilleur pari est probablement à l'homme zshall et de recherche rapide EXPANSION de connaître toutes les règles de votre installation de zsh. Remarque dans les commentaires, des choses comme "j'utilise Ubuntu 11.04 ou OSX 10.4 ou" ne Sont pas très significatives comme il est difficile de savoir quelle est la version de ZSH vous utilisez. Ubuntu 11.04 n'implique pas une version plus récente de ZSH que ubuntu 10.04. Il peut y avoir un certain nombre de raisons qu'une ancienne version a été installé. Pour une version plus récente de ZSH n'implique pas quelle syntaxe utiliser, sans savoir quelle est la version de ZSH, il est.