iTerm2のZSH:プロンプトで8色しか使用できないのはなぜですか?


0

ZSHでカラープロンプト($ TERM = xterm-256color)を設定しようとしていますが、8色しか出力できません:色の明るいバージョンのみです。これはプロンプトの場合のみで、他のアプリケーションはすべての色を表示できます。

だから、プロンプトのために私は同じ色を得る:

PROMPT=' %B%F{9}❯%F{11}❯%F{10}❯%f%b '

そして

PROMPT=' %B%F{1}❯%F{3}❯%F{2}❯%f%b '

画面に印刷されているものには、最初のステートメントには正しい色が含まれていますが、2番目のステートメントには間違った色が含まれています。

ZSHとiTerm(それぞれ5.1.1と2.1.4)の間で何が問題になっていますか?

PSだから、このスクリプトを見つけ実行しました。2つの印刷機能(前景と背景)を試すと、256色すべてが正しく印刷されます。ただし、プロンプトの問題は解決さPROMPT=' %B%F{009}❯%F{011}❯%F{010}❯%f%b 'れず、結果はPROMPT=' %B%F{1}❯%F{3}❯%F{2}❯%f%b '(出力009、011、010の両方)と同じ出力になりますが、最初の16を超える色を印刷すると、目的の出力になります。(例:PROMPT=' %B%F{160}❯%F{142}❯%F{064}❯%f%b '

ここに画像の説明を入力してください

回答:


2

太字のフォントを削除すると、色が通常に戻ることがわかります。

ここに画像の説明を入力してください

これは、iTerm2がデフォルトで太字を明るく表示するためです。このオプションをオフにすると、太字の文字も適切な色でレンダリングされることがわかります。

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.