Domanda Perché la maggior parte degli schemi di colori di Vim non sembra bella come lo screenshot quando li uso? [chiuso]


Ho scaricato molti schemi di colori vim e li ho provati, ma molti di loro non sembrano lo screenshot ufficiale.

Ad esempio, lo schema dei colori di vim - desert dovrebbe assomigliare a questo: desert color schema 

Ma nel mio vim, molti colori non verranno visualizzati, ad esempio lo sfondo. my vim color display

Ma alcuni schemi di colori funzionano correttamente.

Perché?

Nel: Modifica-> Preferenze profilo -> Colori, seleziono "Usa colori dal tema di sistema"


44
2018-03-23 00:43


origine


risposte:


Molti colori sono progettati per 256 colori, che è significativamente migliore di un terminale a 8 colori standard. Per fare in modo che funzioni, è necessario $TERM impostato su un terminale a 256 colori come xterm-256color.

Se si dispone di un terminale con 256 colori abilitati (come nel caso del proprio Gnome Terminal), impostare il $TERM a xterm-256color  e abilita 256 colori nel tuo vimrc con qualcosa del tipo:

if $TERM == "xterm-256color"
  set t_Co=256
endif

Il Vim wiki ha alcuni suggerimenti sull'impostazione corretta $TERM per diversi emulatori di terminali. Il modo più semplice per testarlo rapidamente è farlo

TERM=xterm-256color vim 

Ciò non renderà i colorschemes progettati per la GUI vim pienamente compatibile con il terminale Vim, ma farà sì che i colori a 256 colori funzionino, e questi sono un enorme miglioramento rispetto ai colori standard a 8 colori.


56
2018-03-23 02:36



Sui sistemi * nix, il molto scopo di impostare la variabile d'ambiente $ TERM su una voce terminfo che descrive le funzionalità del terminale, incluso il numero di colori supportati è quello di pubblicizzare queste funzionalità per le applicazioni che verranno eseguite all'interno del terminale.

In altre parole, il motivo per cui si imposta questa variabile è in primo luogo dire a Vim (o mutt .. slrn .. ELinks .. ecc.) .. Ehi .. tra l'altro .. Suppongo 256 colori, lo sapevi ..?

Di conseguenza, c'è nessun punto qualunque aggiungendo bloat al tuo vimrc per testare il valore di $ TERM al fine di impostare il valore della variabile t_Co Vim. Vim è abbastanza intelligente da raccogliere il numero di colori supportato dalla voce terminfo puntata dalla variabile $ TERM. Ecco perché l'hai impostato in primo luogo ..!

A questo proposito, terminale / console Vim segue semplicemente il modello * nix e determina le capacità del terminale dalla voce terminfo e automaticamente imposta il contenuto della variabile t_Co.

Provato e testato su qualcosa come 15 diverse emulazioni di terminale in un ambiente GNU / linux.


19
2017-07-21 20:21



Il primo screenshot è GVim, non il terminale Vim. I terminali sono molto limitati quando si tratta di supporto dei colori. E GVim può utilizzare lo spazio RGB completo.


15
2018-03-23 00:50



Le altre risposte qui sono buone; Ho anche trovato questa pagina molto utile per modificare e capire il perché e il come degli ambienti di colore per Vim.


6
2018-03-23 12:50