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 dePROMPTsolo 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 deforegrounda 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$COLORque ese bit del indicador". Esto no significa que el usuario verá el indicador en$COLOR;$COLORes 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_1comored,$COLOR_2comogreen", 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 .