web-dev-qa-db-ja.com

oh-my-zshテーマが適切に表示されない(背景が白のまま)

私の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")と入力できます)。

助けてくれてありがとう.

20
zima

短い答え:いいえ、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シェル does には、foregroundで使用できるbackgroundPromptの設定がいくつかあります。これがfg_boldは( foreground to bold )を意味します。これを背景のbg_に置き換え、太字以外のフォントを使用する場合はboldを省略できます。

たとえば、%{bg[green]%}を追加することで、Promptの背景を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の色をデフォルトに変更する必要があります)。一貫性のある行全体の背景色を取得すると、すぐに乱雑になります。

色のしくみ

おおよそ(詳細は間違っているかもしれませんが、全体的な要旨は正しいと思います):使用するシェルはcolor codeターミナルエミュレータに送信します。 terminal emulator は、そのカラーコードを解釈して画面に表示します。これは、いじることができる2つの設定があることを意味します。

  1. Shellの色設定。それがあなたのzshrcでやっていることです。主に、これにより一貫性が得られます-プロンプトの this ビットを that ビットと同じ$COLORに表示しますプロンプトの」。これはしないユーザーが /を表示することを意味します$COLORのプロンプト; $COLORはラベルであり、それ以上ではありません。
  2. 表示されたカラー設定。ここで、優先するfontbackgroundtext colorなどを設定します。ここで、「シェルが言うすべてを$COLOR_1としてred$COLOR_2 as green "など.

ANSIターミナルでは16色を使用できますが、正しく表示されない場合があります。一般的な端末の色について この表 を確認し、それらの色の違いに注意してください!

色を修正する

Terminal.appを使用している場合(OS XではiTerm2をお勧めします)、ターミナルの設定(command+,)、「設定」を選択します。いくつかの「プロファイル」から選択できます。上のrobbyrussellスクリーンショットをエミュレートするには、色を少しいじりたいと思います。 「自作」はかなり近いですが、「テキスト」の色が異なります(白ではなく緑)。

[robbyrussell Terminal.appプロファイルを含むzshHomebrewテーマは次のとおりです:

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

あなたが良い、事前に設定された、簡単に目で確認できる配色が必要な場合は、 Solarized をチェックしてください。

27
simont

上記の回答で述べたように、それは "ターミナルエミュレータの色設定を変更する必要があります:"

端末アプリを変更する理由は見つかりません。最も簡単な方法は、テーマを下のリンクで利用可能なテーマの1つに変更することだけです。oh-my-zshテーマに適したテーマを見つけることができます。

osx-terminal-themes

0
talsibony

私にとって修正は、テーマを上書きしていた選択を解除しなければならなかった設定パネルで見つかりました...

Red Hatのインスタンスでgnome-terminalを使用しています。

以下にあります:ターミナル->設定->名前なし->色->システムテーマの色を使用

(それを理解するにはあまりにも長くかかりました...)

0
CEC