25

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 を数か月前にインストールしました。 issuecomment-11652602、まだ解決していないようですか?私のプラグインは機能します(つまり、「rails console」に対して rails c と入力できます)。

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

4

4 に答える 4

37

簡単な答え: いいえ、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の設定があります-それが意味することです(前景から太字へ)。これを背景用に置き換え、を省略して太字以外のフォントを使用できます。backgroundPROMPTfg_boldbg_bold

たとえば、次を追加してPROMPTtoの背景を設定できます。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%}'

これにより、次の結果が得られます。

プロンプトの緑色の背景

ただし、これはおそらくあなたが望むものではありません。いくつかのことに注意してください。

  1. は端末ウィンドウの端まで拡張されbg[green]ませPROMPT設定は、線が描かれている場所でのみ機能します。
  2. 背景色は、プロンプトの最後で「デフォルト」にリセットされます - これは(色をデフォルト%{$reset_color%}に変更する必要があります) によって行われます。foreground一貫した行全体の背景色を取得すると、すぐに面倒になります。

色のしくみ

大まかに(詳細は間違っている可能性がありますが、全体的な要点は正しいと思います):使用するシェルは端末エミュレーターcolor codeに aを送信します。ターミナル エミュレータは、そのカラー コードを解釈し、画面に表示する役割を果たします。これは、いじることができる 2 つの設定があることを意味します。

  1. shell色の設定。それがあなたがあなたの中でしていることですzshrc。主に、これにより一貫性が確保されます。「プロンプトのこのビットと同じプロンプトのビットを$COLOR表示する」と言うことができます。これは、ユーザーにプロンプ​​トが表示されるという意味ではありません。はラベルであり、それ以上のものではありません。$COLOR$COLOR
  2. 表示された色の設定。ここで、優先するfontbackground、などを設定します。「シェルが言うすべてを、としてtext color表示する」などと言うことができる場所です。$COLOR_1red$COLOR_2green

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

色を修正する

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

[ Terminal.app プロファイルのrobbyrussell zshテーマは次のとおりです。Homebrew

Robby Russel <code>zsh</code> テーマと <code>Homebrew</code> Terminal.app プロファイル

あらかじめ設定された見やすい配色が必要な場合は、Solarizedをご覧ください。

于 2013-01-04T02:33:25.810 に答える
0

上記の回答で述べたように、「端末エミュレータの色設定を変更する必要があります。」

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

osx-ターミナル-テーマ

于 2018-01-01T10:12:01.193 に答える