As cores do Vim estão em conflito com as terminais

3

Para a maioria dos esquemas de cores do vim, eles aparecem de forma diferente do anunciado quando eu abro o vim no xterm.

Estou usando xterm-256color e set t_Co=256 .

Uma coisa semelhante acontece quando eu uso o xfce-terminal, mas as cores nos esquemas de cores irão variar dependendo de quais cores eu definir no menu de preferências do terminal. Eu li que alguns esquemas de cores dependem das cores dos terminais, e isso parece ser o que está acontecendo aqui.

Existe uma maneira de evitar que o esquema de cores do vim entre em conflito com o terminal?

    
por al92 14.01.2015 / 19:08

2 respostas

2

A menos que você use o suporte principalmente experimental para cores RBG completas em alguns terminais, você estará limitado à paleta de 256 cores indexada fornecida pelo terminal. Você está certo de que os terminais podem se desviar ligeiramente nas cores exatas usadas, e isso será perceptível. Se você reatribuir completamente as cores (ficar vermelho em azul, etc.), não há nada que corrija isso no Vim, já que o Vim pedirá ignorantemente "cor no índice # 42".

Se as diferenças estiverem apenas nas 16 cores básicas e o restante da paleta estiver correto e você usar um esquema de cores com as definições GUI e cterm, você pode contornar isso via plugins como CSApprox , que pegam as definições de cores da GUI e as convertem em uma cor de cterm de 256 cores. paleta para terminais de alta cor.

Outra abordagem é tomada por csexact , que modifica a paleta do terminal (suportado) para corresponder exatamente às cores da GUI do Vim. Se o seu terminal é suportado, pode valer a pena tentar.

    
por 15.01.2015 / 09:26
0

Você pode tentar as configurações que eu tenho no meu mac para o meu arquivo ~ / .vimrc:

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Colors and Fonts
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
syntax enable

colorscheme desert
set background=dark

" Set extra options when running in GUI mode
if has("gui_running")
    set guioptions-=T
    set guioptions+=e
    set t_Co=256
    set guitablabel=%M\ %t
endif

" Set utf8 as standard encoding and en_US as the standard language
set encoding=utf8

" Use Unix as the standard file type
set ffs=unix,dos,mac
    
por 14.01.2015 / 19:56