我想找出为什么我的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”)。
感谢您的帮助。
答案 0 :(得分:26)
简短回答:不,zsh
无法帮到你。您需要更改终端仿真器颜色设置,而不是zsh
设置。
这是您目前所看到的:
这是你期望看到的:
这是产生此提示的行:
PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c
%{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'
Z-Shell 确实有一些foreground
,background
设置,您可以在PROMPT
中使用 - 这就是fg_bold
的含义( 前景到粗体)。您可以将bg_
替换为背景,并省略bold
以使用非粗体字体。
例如,我们可以通过添加PROMPT
将green
的背景设置为%{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%}'
这导致:
但是,这很可能不是你想要的。请注意以下几点:
bg[green]
不延伸到终端窗口的边缘 - PROMPT
设置仅适用于绘制线条的位置。 %{$reset_color%}
完成(将foreground
颜色更改为默认值所必需的)。获得一致的全线背景颜色会很快变得混乱。 粗略地说(我可能在细节上错了,但总体要点是正确的,我相信):您使用的shell会向终端模拟器发送color code
。 终端仿真器负责解释该颜色代码,并将其显示在屏幕上。这意味着您可以使用两种设置:
shell
颜色设置。这就是你在zshrc
中所做的。在一般情况下,这样可以保持一致性 - 您可以在提示符的位与位相同的$COLOR
中显示“显示此位”。 意味着用户在<{1}}中看到提示; $COLOR
是一个标签,而不是更多。 $COLOR
,font
,background
等的位置。您可以在其中显示“将shell显示的所有内容text color
显示为$COLOR_1
, red
为$COLOR_2
“等,您可以在green
终端中使用16种颜色,这些颜色可能或可能无法正确显示。检查this table是否有一些常见的终端颜色,并注意它们之间显示的差异!
如果您正在使用ANSI
(在OS X上,我建议Terminal.app
),请打开终端的首选项(命令 + ,),然后选择“设置”。你可以选择一些“配置文件” - 模仿上面的iTerm2
屏幕截图,你想要稍微调整一下颜色。 “Homebrew”非常接近,但有不同的“文字”颜色(绿色而不是白色)。
[以下是带有robbyrussell
Terminal.app个人资料的robbyrussell
zsh
主题:
如果你想要一个好的,预设的,易于上手的配色方案,请查看Solarized。
答案 1 :(得分:0)
如上面的答案所述,它是&#34;您需要更改终端模拟器颜色设置:&#34;
我没有找到任何更改终端应用的原因,最简单的方法是只将主题更改为下面链接中的一个主题,你可以找到一个适合哦我的主题的主题。< / p>
答案 2 :(得分:0)
对我来说,此修复程序是在“首选项”面板中找到的,在该面板中,我必须取消选择覆盖主题的主题...
我在Red Hat实例上使用gnome-terminal。
发现于: 终端->首选项->未命名->颜色->使用系统主题中的颜色
(花了我太多时间才意识到...)