哦-my-zsh主题没有正确显示(背景保持白色)

时间:2012-12-27 14:10:50

标签: osx-lion zsh zshrc

我想找出为什么我的oh-my-zsh主题不能正常工作。颜色正确显示,但背景保持白色(黑色文字)。下面是我的/.zshrc文件和当前路径变量:

    # 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

这是$ 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

我在Mac OS X 10.7.5上并在几个月前安装了oh-my-zsh ..我在git问题中发了帖子,https://github.com/robbyrussell/oh-my-zsh/issues/929#issuecomment-11652602,它似乎还没有解决?我的插件工作(即我可以键入rails c for“rails console”)。

感谢您的帮助。

3 个答案:

答案 0 :(得分:26)

简短回答:不,zsh无法帮到你。您需要更改终端仿真器颜色设置,而不是zsh设置。

这是您目前所看到的:

What you're seeing

这是你期望看到的:

The RobbyRussell Theme

这是产生此提示的行:

PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c 
%{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'

Z-Shell 确实有一些foregroundbackground设置,您可以在PROMPT中使用 - 这就是fg_bold的含义( 前景粗体)。您可以将bg_替换为背景,并省略bold以使用非粗体字体。

例如,我们可以通过添加PROMPTgreen的背景设置为%{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%}'

这导致:

Green background in the prompt

但是,这很可能不是你想要的。请注意以下几点:

  1. bg[green] 延伸到终端窗口的边缘 - PROMPT设置仅适用于绘制线条的位置
  2. 背景颜色在提示结束时重置为“默认” - 由%{$reset_color%}完成(将foreground颜色更改为默认值所必需的)。获得一致的全线背景颜色会很快变得混乱。
  3. 颜色如何工作

    粗略地说(我可能在细节上错了,但总体要点是正确的,我相信):您使用的shell会向终端模拟器发送color code 终端仿真器负责解释该颜色代码,并将其显示在屏幕上。这意味着您可以使用两种设置:

    1. shell颜色设置。这就是你在zshrc中所做的。在一般情况下,这样可以保持一致性 - 您可以在提示符的位与位相同的$COLOR中显示“显示位”。 意味着用户在<{1}}中看到提示; $COLOR是一个标签,而不是更多。
    2. 显示的颜色设置。这就是您设置首选$COLORfontbackground等的位置。您可以在其中显示“将shell显示的所有内容text color显示为$COLOR_1red$COLOR_2“等,
    3. 您可以在green终端中使用16种颜色,这些颜色可能或可能无法正确显示。检查this table是否有一些常见的终端颜色,并注意它们之间显示的差异!

      修复颜色

      如果您正在使用ANSI(在OS X上,我建议Terminal.app),请打开终端的首选项(命令 + ),然后选择“设置”。你可以选择一些“配置文件” - 模仿上面的iTerm2屏幕截图,你想要稍微调整一下颜色。 “Homebrew”非常接近,但有不同的“文字”颜色(绿色而不是白色)。

      [以下是带有robbyrussell Terminal.app个人资料的robbyrussell zsh主题:

      Robby Russel <code>zsh</code> theme with <code>Homebrew</code> Terminal.app profile

      如果你想要一个好的,预设的,易于上手的配色方案,请查看Solarized

答案 1 :(得分:0)

如上面的答案所述,它是&#34;您需要更改终端模拟器颜色设置:&#34;

我没有找到任何更改终端应用的原因,最简单的方法是只将主题更改为下面链接中的一个主题,你可以找到一个适合哦我的主题的主题。< / p>

osx-terminal-themes

答案 2 :(得分:0)

对我来说,此修复程序是在“首选项”面板中找到的,在该面板中,我必须取消选择覆盖主题的主题...

我在Red Hat实例上使用gnome-terminal。

发现于:     终端->首选项->未命名->颜色->使用系统主题中的颜色

(花了我太多时间才意识到...)