theme mac instalar osx-lion zsh zshrc

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.

osx-terminal-themes


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:

  1. bg[green] no se extiende hasta el borde de la ventana del terminal; la configuración de PROMPT solo funciona cuando se dibuja la línea .
  2. El color de fondo se restablece a "predeterminado" al final de la solicitud, que se realiza mediante %{$reset_color%} (necesario para cambiar el color de foreground 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:

  1. Los ajustes de color de la shell . Eso es lo que estás haciendo en tu zshrc . 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.
  2. Los ajustes de color mostrados . Ahí es donde establece la font , el background , el text color , etc. que prefiera. Es donde puede decir "mostrar todo lo que dice el shell es $COLOR_1 como red , $COLOR_2 como green ", 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 .