osx lion - mac - Los temas de oh-my-zsh no se muestran correctamente(el fondo permanece en blanco)
oh my zsh windows (2)
Estoy tratando de averiguar por qué mis temas oh-my-zsh no funcionan correctamente. Los colores se muestran correctamente, pero el fondo permanece blanco (con texto en negro). debajo está mi archivo /.zshrc y la variable de la ruta actual:
# 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
Aquí está $ 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
Estoy en Mac OS X 10.7.5 e instalé oh-my-zsh hace meses. He hecho una publicación en el problema de git, https://github.com/robbyrussell/oh-my-zsh/issues/929#issuecomment-11652602 , parece que todavía no se ha resuelto? Mis complementos funcionan (es decir, puedo escribir rieles c para "consola de rieles").
Gracias por cualquier ayuda.
Como se dijo en la respuesta anterior, es "Debe cambiar la configuración de color del emulador de terminal:"
No encuentro ninguna razón para cambiar la aplicación de terminal, la forma más sencilla es cambiar el tema a uno de los temas disponibles en el enlace a continuación, puede encontrar uno que se adapte a los temas de oh-my-zsh.
Respuesta corta: no, zsh
no puede ayudarte aquí. Debe cambiar la configuración de color del emulador de terminal , no la configuración de zsh
.
Esto es lo que estás viendo actualmente:
y esto es lo que esperas ver:
Esta es la línea que produce este aviso:
PROMPT=''%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c
%{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}''
El Z-Shell tiene algunas configuraciones de background
, foreground
, que puede usar en el PROMPT
- eso es lo que significa fg_bold
(de primer plano a negrita ). Puede reemplazarlo con bg_
para el fondo y omitir el bold
para usar una fuente que no bg_
en negrita.
Por ejemplo, podemos establecer el fondo de PROMPT
en green
agregando %{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%}''
Esto resulta en:
Sin embargo, esto más que probable no es lo que quieres . Note varias cosas:
-
bg[green]
no se extiende hasta el borde de la ventana del terminal; la configuración dePROMPT
solo funciona cuando se dibuja la línea . - El color de fondo se restablece a "predeterminado" al final de la solicitud, que se realiza mediante
%{$reset_color%}
(necesario para cambiar el color deforeground
a predeterminado). Conseguir un color de fondo consistente y de línea completa se ensucia rápidamente.
Como funcionan los colores
Aproximadamente (podría estar equivocado en detalles, pero creo que la idea general es correcta): el shell que usa envía un color code
al emulador de terminal . El emulador de terminal es responsable de interpretar ese código de color y mostrarlo en la pantalla. Esto significa que hay dos configuraciones con las que puedes jugar:
- Los ajustes de color de la
shell
. Eso es lo que estás haciendo en tuzshrc
. Principalmente, esto permite una mayor coherencia, puede decir "Mostrar este bit del indicador en el mismo$COLOR
que ese bit del indicador". Esto no significa que el usuario verá el indicador en$COLOR
;$COLOR
es una etiqueta, no mucho más. - Los ajustes de color mostrados . Ahí es donde establece la
font
, elbackground
, eltext color
, etc. que prefiera. Es donde puede decir "mostrar todo lo que dice el shell es$COLOR_1
comored
,$COLOR_2
comogreen
", etc.
Hay 16 colores que puede usar en un terminal ANSI
, que pueden o no pueden mostrarse correctamente. ¡Compruebe esta tabla para algunos colores comunes de terminal, y observe las diferencias mostradas entre ellos!
Arreglando tus colores
Si está utilizando Terminal.app
(en OS X, recomendaría iTerm2
), abra las preferencias de Terminal ( comando + , ) y seleccione "Configuración". Hay un montón de "perfiles" entre los que puede elegir: para emular la robbyrussell
pantalla de robbyrussell
arriba, robbyrussell
un poco con los colores. "Homebrew" está bastante cerca, pero tiene diferentes colores de "texto" (verde en lugar de blanco).
[Aquí está el tema de robbyrussell
zsh
con el perfil Homebrew
Terminal.app:
Si desea una buena combinación de colores preconfigurada y fácil de Solarized , visite Solarized .