PS1の「太字に明るい色を使う」設定を無視

PS1の「太字に明るい色を使う」設定を無視

MacでiTerm2を使用しています。という設定がありますDraw bold text in bright colors。この設定の問題は、私のPS1テキストにも影響を与えることです。これに加えて、すべての問題を解決する方法はありますかPS1

大事だと私の姿はこんな感じです。

declare __host='\[\e[30;102m\] \h \[\e[0m\]';
declare __dir='\[\e[1;97;44m\] \w \[\e[22m\]';
declare __arrow='\[\e[1m\]▸ \[\e[0m\]';

function __git_status() {
  local info;
  info=$(__git_info) && printf '\1\e[30;43m\2%s' "$info";
}

PS1="$__host$__dir"'$(__git_status)'"$__arrow ";

色は__arrowまたはから取得されます__dir__git_statusこの設定を有効にすると、矢印の色が太字で表示されるため変更されます。

答え1

つまり、いいえ、PS1は「他のすべて」と同じエスケープシーケンスを使用します。

長い:

矢印から太字のマークをオフにできます。

declare __arrow='\[\e[22m\]▸ \[\e[0m\]';

実際には__dirオフになっているので冗長です($(git_status)一部のエスケープシーケンスがない限り)。

これ22オフ勇敢な他の動画プロパティには影響しません。次に定義されています。ECMA-48(そして他の場所でも、例えばXTerm制御シーケンス):

            Ps = 2 2  -> Normal (neither bold nor faint).

関連情報