J'essaie de comprendre pourquoi mes thèmes oh-my-zsh ne fonctionnent pas correctement. Les couleurs s'affichent correctement, mais l'arrière-plan reste blanc (avec du texte noir). Voici mon fichier /.zshrc et la variable de chemin actuelle:
# Path to your oh-my-zsh configuration.
ZSH=$HOME/.oh-my-zsh
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
# Set name of the theme to load.
# Look in ~/.oh-my-zsh/themes/
# Optionally, if you set this to "random", it'll load a random theme each
# time that oh-my-zsh is loaded.
export ZSH_THEME="robbyrussell"
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
# Set to this to use case-sensitive completion
# CASE_SENSITIVE="true"
# Comment this out to disable weekly auto-update checks
# DISABLE_AUTO_UPDATE="true"
# Uncomment following line if you want to disable colors in ls
#DISABLE_LS_COLORS="true"
# Uncomment following line if you want to disable autosetting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment following line if you want red dots to be displayed while waiting for completion
# COMPLETION_WAITING_DOTS="true"
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(Rails git textmate Ruby lighthouse)
plugins=(git Rails Ruby brew)
source $ZSH/oh-my-zsh.sh
# Customize to your needs...
autoload -U colors
colors
voici $ PATH:
➜ ~ echo $PATH
/Users/natascha/.rbenv/shims:/Users/natascha/.rbenv/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/usr/texbin
Je suis sur Mac OS X 10.7.5 et ai installé oh-my-zsh il y a quelques mois. J'ai publié un article dans le numéro git, https://github.com/robbyrussell/oh-my-zsh/issues/ 929 # issuecomment-11652602 , semble-t-il toujours pas été résolu? Mes plugins fonctionnent (c’est-à-dire que je peux taper Rails c pour "console Rails").
Merci pour toute aide.
Réponse courte: non, zsh
ne peut pas vous aider ici. Vous devez modifier les paramètres de couleur émulateur de terminal, pas les paramètres zsh
.
Voici ce que vous voyez actuellement:
et voici ce que vous vous attendez à voir:
C'est la ligne qui produit cette invite:
Prompt='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c
%{$fg_bold[blue]%}$(git_Prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'
Le Z-Shell ne possède quelques réglages foreground
, background
que vous pouvez utiliser dans Prompt
- c'est ce que signifie fg_bold
(premier plan à gras). Vous pouvez remplacer ceci par bg_
pour l'arrière-plan et omettre le bold
pour utiliser une police non en gras.
Par exemple, nous pouvons définir l'arrière-plan de Prompt
sur green
en ajoutant %{bg[green]%}
:
Prompt='%{$bg[green]%}%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c
%{$fg_bold[blue]%}$(git_Prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'
Cela se traduit par:
Cependant, ce n'est probablement pas ce que vous voulez . Notez plusieurs choses:
bg[green]
ne pas s’étend au bord de la fenêtre du terminal - les paramètres Prompt
ne fonctionnent que là où la ligne est dessinée .%{$reset_color%}
(nécessaire pour changer la couleur foreground
à la valeur par défaut). Obtenir une couleur d'arrière-plan consistante et complète devient rapidement désordonné.Grosso modo (je peux me tromper dans les détails, mais le Gist général est correct, je crois): le shell que vous utilisez envoie un color code
à émulateur de terminal. Le émulateur de terminal est chargé d'interpréter ce code de couleur et de l'afficher à l'écran. Cela signifie que vous pouvez manipuler deux paramètres:
Shell
. C'est ce que vous faites dans votre zshrc
. Premièrement, cela permet la cohérence - vous pouvez dire "Afficher this bit de l'invite dans le même $COLOR
que que bit de l'invite". Ceci ne signifie pas signifie que l'utilisateur va voir l'invite dans $COLOR
; $COLOR
est une étiquette, pas beaucoup plus.font
, background
, text color
, etc. Vous pouvez indiquer "tout ce que le shell dit: afficher $COLOR_1
comme red
, $COLOR_2
comme green
", etc.Il existe 16 couleurs que vous pouvez utiliser dans un terminal ANSI
, qui peuvent ou ne peuvent pas être affichées correctement. Vérifiez ce tablea pour certaines couleurs de terminal communes, et notez les différences affichées entre elles!
Si vous utilisez Terminal.app
(sous OS X, je recommanderais iTerm2
), ouvrez les préférences pour Terminal (command+,) et sélectionnez "Paramètres". Vous pouvez choisir parmi un certain nombre de "profils" - pour émuler la capture d'écran robbyrussell
ci-dessus, vous voudriez modifier un peu les couleurs. "Homebrew" est assez proche, mais a des couleurs de "texte" différentes (vert au lieu de blanc).
[Voici le thème robbyrussell
zsh
avec le profil Homebrew
Terminal.app:
Si vous souhaitez un bon agencement de couleurs prédéfini et facile à regarder, consultez Solarized .
Comme indiqué dans la réponse ci-dessus, il s'agit de "Vous devez modifier les paramètres de couleur de l'émulateur de terminal:"
Je ne trouve pas de raison de changer d'application pour terminal, le moyen le plus simple consiste à changer le thème et à changer l'un des thèmes disponibles dans le lien ci-dessous.