使用中ですが、zsh
インストールprompt fade
できません。oh-my-zsh
私の端末の背景は黒ではなく濃い青ですが、プロンプトは黒の背景に印刷されます。
プロンプトが端末の残りの部分と同じ背景色を使用するように、これをどのように無視できますか?
FWIW、正しい背景色をRPS1
設定して使用しました。.zshrc
RPS1='[%F{yellow}%?%f] '
答え1
zsh
背景色または前景色は、要求しない限り変更されません。
したがって、プロンプトの背景がデフォルトの色ではない場合、これは、ユーザーまたはアクティブにしたいくつかのプロンプトのテーマまたはサードパーティのカスタム拡張がその背景をデフォルトの色に設定したためです。
%K{colour}
プロンプト拡張では、背景色はおよび%k
(と同じ)に変わりますが、ほとんど%K{default}
の端末では、黒の背景$'%{\e[40;37;1m%}foo%{\e[m%}'
に白などのハードコーディングされたエスケープシーケンスを挿入することで変更できます。foo
そして%S
ただ目立つモード(停止%s
)、ほとんどの端末では、このモードは逆方向ビデオ(背景色と前景色の交換)を使用して実行されます。
したがって、デフォルトの背景色を維持するには、変数定義$PS1
からその背景色を削除する必要があります。$PROMPT
またpromptsubst
、このオプションが有効になっている場合、または同じ項目を$PS1
含めると、拡張するように求められたときに拡張されるため、そこにある色の変更順序にも注意する必要があります。$(some command)
${some_variable}
fade
プロンプトテーマを使用していることを示します。$PS1
デフォルトでは、このテーマの変数は次のとおりです。
%F{green}%B%K{green}█▓▒░%F{white}%K{green}%B%n@%m%b%F{green}%K{black}█▓▒░%F{white}%K{black}%B %D{%a %b %d} %D{%I:%M:%S%P}
%}%F{green}%K{black}%B%~/%b%k%f
関数や実行の定義を%K{black}
見ると、色がカスタマイズできる範囲の一部ではないことがわかります。したがって、黒い背景が気に入らない場合は、次のことができます。prompt_fade_setup
prompt -h fade
- 別のテーマに切り替える
- このテーマに基づいて独自のプロンプトテーマを作成します(
info zsh "prompt themes"
詳細については参考資料を参照)。 - アカウントに追加した
PS1=${PS1//\%K{black}/%k}
後prompt fade
~/.zshrc
- を使用しないで、
prompt fade
変数PS1
定義を変数~/.zshrc
定義にコピーして%K{black}
に置き換えます%k
。