2011-12-30 11 views
10

Perché gli schemi di colori Vim differiscono tra gvim e un terminale normale? Ad esempio molti schemi di questo showcase non funzionano in un normale terminale. Mi risparmio tutti i nuovi programmi per ~/.vim/colors/ e impostare con :colorscheme coolPerché gli schemi di colori Vim differiscono tra gvim e un terminale normale?

Un modo per risolvere questo problema?

+0

C'è una differenza tra luce e sfondo scuro in uno di essi? Si prega inoltre di pubblicare il tuo ~ ~/.vimrc' per la macchina in questione –

+0

@ mike-pennington vimrc aggiunta. Ho visto questo problema anche in altri computer. –

+0

quale gvim? Tecnicamente potrebbe essere 'vim-gtk' o' vim-gnome' –

risposta

10

Le finestre del terminale (come xterm) sono in genere limitate a 2 ** 8 colori. D'altra parte, un termine GUI può avere tanti colori quanto il desktop grafico di Windows.

Molti schemi di colori vim sono progettati per la GUI o il terminale; se sono progettati per una GUI, è improbabile che vengano visualizzati in un terminale ben predefinito.

Se è necessario convertire uno schema GUI in un terminale (256 colori), è possibile utilizzare il plug-in CSApprox.

+0

+1 grazie per il suggerimento del plug-in ... –

+0

Sei il benvenuto, per favore lascia una nota se incontri altri problemi di colore –

+2

Sicuramente [CSApprox "Fai gvim-only colorschemes funziona in modo trasparente nel terminale vim "] (http://www.vim.org/scripts/script.php?script_id=2390) è una buona soluzione.- THX –

1

Perché gvim seleziona direttamente i colori X11, mentre il terminale vim utilizza la tavolozza dei terminali disponibile.

Quindi se si utilizza un terminale moderno (gnome, kde o anche OS X) è possibile modificare la tavolozza dei colori disponibili e VIM apparirà completamente diverso. GVIM, d'altra parte, imposta i colori direttamente senza il livello di traduzione intermedio dell'app terminale.

+0

+1 hai ragione sul problema della palette (KDE nel mio caso), grazie.- un modo per aggirare questo? –

+0

Il tuo vim è impostato per utilizzare 256 colori o solo lo schema di 16 colori minimo? Dai un'occhiata a http://vim.wikia.com/wiki/256_colors_in_vim – nimrodm

9

Le due risposte correnti sono piuttosto buone. Il tuo voto dovrebbe andare a Mike perché non c'è una soluzione perfetta.

I colori Vim di solito specificano i colori separatamente per la GUI e per la CLI. Alcuni colori non definiscono nulla per la CLI e quelli che usano lo X11 colors.

Questi colori X11 (noti come 0-255) sono stati più o meno standardizzati da molto tempo e funzionano solo in emulatori di terminali che supportano 256 colori. In altri emulatori di terminale meno potenti i numeri più alti vengono saltati e i colori sono confusi.

GUI Vim può anche utilizzare questi 256 colori più qualsiasi colore che si desideri, purché sia ​​specificato con una notazione esadecimale (# 00d6e3).

Poiché i colori compatibili con la GUI possono utilizzare migliaia di colori e i colori CLI possono utilizzare solo 256 colori, i valori utilizzati per la CLI possono essere solo approssimazioni di quelli utilizzati dalla GUI. Ecco perché CLI Vim non può davvero somigliare a GUI Vim, anche se si utilizza un moderno emulatore di terminale.

Se la vostra gamma di colori di scelta insiste sull'uso di colori al di fuori della gamma X11, non avrete mai CLI Vim e GUI Vim uguali.

L'unico modo per sincronizzare i colori della GUI e della CLI Vim che vedo è smorzare la colorazione della GUI usando i colori X11 solo.

+0

+1 buon riassunto dei motivi alla base di questo problema. –

+0

curriculum -> riepilogo :) –

0

C'è un nuovo capretto sul blocco chiamato CSExact che ti dà il terminale per i colori esatti del colorscheme. I colori sembrano molto migliori rispetto a CSApprox.

Questo plug-in consente l'utilizzo di schemi di colori GUI (GVim) in (alcuni) terminali. Questo viene fatto usando il terminale magico per modificare la tavolozza dei colori del terminale all'avvio e ogni volta che viene caricata una combinazione di colori.

Problemi correlati