ZSH in iTerm2: Perché il mio prompt può usare solo 8 colori?


0

Sto cercando di impostare un prompt dei colori in ZSH ($ TERM = xterm-256color), ma può ottenere solo 8 colori: solo la versione brillante dei colori. Questo è solo il caso di prompt, mentre le altre applicazioni sono in grado di visualizzare tutti i colori.

Quindi, per la richiesta ottengo gli stessi colori con:

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

e

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

Quello che vedo stampato sullo schermo, contiene i colori corretti per la prima affermazione, ma quelli sbagliati per la seconda affermazione.

Cosa non va tra il mio ZSH e iTerm (rispettivamente 5.1.1 e 2.1.4)?

PS Quindi, ho trovato questo script e l'ho eseguito. Tutti i 256 colori vengono stampati correttamente quando provo le due funzioni di stampa (primo piano e sfondo). Ma il problema persiste, il che significa che si PROMPT=' %B%F{009}❯%F{011}❯%F{010}❯%f%b 'ottiene lo stesso output di PROMPT=' %B%F{1}❯%F{3}❯%F{2}❯%f%b '(entrambi output 009, 011 e 010), mentre la stampa di colori oltre i primi 16 produce l'output desiderato. (ad esempio: PROMPT=' %B%F{160}❯%F{142}❯%F{064}❯%f%b '.

inserisci qui la descrizione dell'immagine

Risposte:


2

Se rimuovi il carattere in grassetto, vedrai che i colori torneranno alla normalità:

inserisci qui la descrizione dell'immagine

Questo perché iTerm2 rende i caratteri in grassetto più luminosi per impostazione predefinita. Ora, se disattivi questa opzione, vedrai che anche i caratteri in grassetto verranno visualizzati con il colore giusto.

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.