Configurando as cores de fundo do Vim

114

Quando tento alterar as cores de fundo no .vimrcou diretamente no Vim usando o comando:

set background=dark

... não afeta minha formação em nada. Nem a lightopção. No entanto, parece normal quando executo o gvim.

Existe uma maneira de alterar o plano de fundo no Vim sem alterar as configurações do Konsole?

EDIT OK, há uma diferença entre guifg / guibg e ctermfg / ctermbg. Embora a GUI aceite muitas combinações de cores diferentes, o cterm permite apenas algumas combinações padrão.

Maksim Vi.
fonte
1
Você pode fazer o terminal aceitar muitas dessas cores também. Veja esta página: vim.wikia.com/wiki/256_colors_in_vim
Mateus

Respostas:

138

Como a própria ajuda do vim set backgrounddiz, "Definir esta opção não altera a cor de fundo, diz ao Vim como é a cor de fundo. Para alterar a cor de fundo, consulte |: hi-normal |."

Por exemplo

:highlight Normal ctermfg=grey ctermbg=darkblue

escreverá em branco sobre azul no terminal de cores.

Alex Martelli
fonte
Obrigado, funciona. Eu tentei essa opção antes, mas parece que nem todas as cores funcionam, por exemplo, as opções de marrom e amarelo não afetam o fundo do meu console padrão de forma alguma.
Maksim Vi.
1
isso pode ser devido ao tipo de terminal que o vim pensa que você tem.
rampion
2
Como posso adicionar isso ao meu vimrc?
Marin,
4
Veja também :help hl-NonTexta cor de fundo após a última linha do arquivo.
Mateus,
2
@Marin: coloque exatamente a linha do exemplo em seu vimrc :highlight Normal ctermfg=grey ctermbg=darkblue. Sub em todas as cores que você quiser.
Mateus,
24

Em um emulador de terminal como o konsole ou o gnome-terminal, você deve definir uma configuração de 256 cores para o vim.

:set  t_Co=256

Depois disso, você pode alterar seu plano de fundo.

AA.
fonte
Você provavelmente vai querer definir isso no seu Terminal em vez disso: export TERM='xterm-256color'.
Bart Louwers
15

Tente adicionar

set background=dark

para o seu .gvimrctambém. Isso funciona bem para mim.

Lucas
fonte
7

Usar set bg=darkcom um fundo branco pode produzir texto quase ilegível em alguns esquemas de realce de sintaxe. Em vez disso, você pode alterar o esquema de cores geral para algo que fique bem em seu terminal. O arquivo colorscheme deve definir o atributo background para você apropriadamente. Além disso, para obter mais informações, consulte:

:h color
Michael Kristofik
fonte
6
foi por isso que postei minha pergunta aqui. Mesmo os esquemas de cores escuras não afetaram minha cor de fundo padrão.
Maksim Vi.