O esquema de cores no .vimrc não está funcionando

16

Examinei várias perguntas aqui e tenho bastante experiência com o Vim, mas por algum motivo .vimrcnão estou colorschememais definindo .

Não sei quando isso começou, mas acabei de me mudar para uma nova máquina e isso é bastante desconcertante para mim. A parte mais estranha é que eu sou capaz de defini-lo manualmente :colorscheme vividchalk, ele simplesmente não vai funcionar quando eu tenho colorscheme vividchalkem .vimrc. Tentei comentar absolutamente tudo o mais na minha .vimrc, ainda sem sorte. Tentei comentar tudo, mas syntax one set t_Co=256, ainda sem sorte (e mesmo comportamento de configurações manuais funcionando).

Alguma ideia? Minha configuração está sshno meu computador Ubuntu a partir do Chrome OS.

Californiano
fonte

Respostas:

17

[Resposta completamente revisada para outros.]

Como o :colorschemecomando " " funciona manualmente, prova que você tem o esquema de cores instalado. Isso significa que, de alguma forma, você tem algo vindo em seus scripts de inicialização que está substituindo seu esquema preferido. Você pode rastrear isso digitando " :scriptnames" e lendo-o para outro esquema de cores sendo carregado. Depois de encontrá-lo, você pode remover ou comentar essa linha em qualquer script de inicialização do qual está sendo chamado.

Heptite
fonte
11
Não, infelizmente está listado lá. Eu tenho vividchalk.vimno meu ~/.vim/colorsdiretório e, como mencionei, ele carrega perfeitamente bem, desde que eu digite :colorscheme vividchalkuma sessão do vim. É como se algo o substituísse, mas nada mais foi carregado.
californiano
11
E aqui pensei ter lido corretamente sua pergunta. Peço desculpas. O que mostra a saída " :scriptnames"?
Heptite
Não se preocupe; obrigado por reservar um tempo para responder! Ah, sim, e acho que é aqui que está o problema ... então ele tem várias coisas lá dentro, mas é muito longo para esse comentário, então eu o publicarei separadamente. Além disso, antes de comentar alguma coisa sobre cores na synload.vim(da linha 4 acima), havia algum erro em não conseguir encontrar um esquema de cores chamado "ansi_blows" durante a execução :so $MYVIMRC. Alguma idéia de qual arquivo devo investigar mais?
californiano
11
@ Heptite Há muitas coisas que são executadas antes e depois da minha, ao ~/.vimrcque parece. Existe uma maneira de apenas instruir que o meu ~/.vimrcé executado por último, para que ele substitua o que aconteceu antes disso?
sonhador
11
No meu caso, meu erro foi colocar colorscheme ... antes set t_Co=256 e causar o problema.
Nima
9

set background=darkdeve estar antes syntax enablee colorscheme whateverno seu .vimrc

Alastair Irvine
fonte
2
Preciso, mas o problema foi encontrado com a resposta acima. Obrigado mesmo assim; espero que alguém ache isso útil.
Califórnia
Isso foi corrigido depois de examinar todos os scripts. Obrigado! (Mal posso esperar pelo neovim ...).
Ben
6

Para outros como eu, tropeçando em:

Se você estiver usando vimou nvimdentro de um emulador de terminal, verifique se as configurações de cores para o seu perfil estão corretas. Por isso gnome-terminal, tive que desativar "usar cores do tema do sistema" em minhas Preferências / Perfil / Configurações de cores antes de conseguir que meu esquema de cores funcionasse corretamente:

insira a descrição da imagem aqui

Além disso, recentemente o nvim se tornou obsoleto NVIM_TUI_ENABLE_TRUE_COLORem favor set termguicolors(veja isso ).

kuzyn
fonte
0

Eu tive o mesmo problema no estiramento Debian, também com alguns outros comandos (a cor e o conjunto de plano de fundo funcionam manualmente, mas não em .vimrc). Mas eu não queria examinar todos os arquivos nos nomes de script.

A solução é adicionar

source $VIMRUNTIME/defaults.vim

para .vimrc

Esta linha pode ser encontrada em /usr/share/vim/vimXX/vimrc_example.vim para referência (XX é a versão vim, no meu caso 80).

Suponho que defaults.vim faz algumas coisas de configuração necessárias para mudar a cor. Mas defaults.vim não será carregado se o usuário tiver um ~ / .vimrc, de acordo com / usr / share / vim / vimrc

" Vim will load $VIMRUNTIME/defaults.vim if the user does not have a vimrc.
Benitok
fonte
0

No meu caso, uso esquemas de cores de plugins (repositórios externos). Então eu tenho que carregar plugins antes de aplicar o colorschemecomando.

Maxim Suslov
fonte
0

.gvimrc

Ao usar gvim, pode ser necessário colocar colorscheme vividchalktambém no .gvimrcarquivo, apesar de já estar presente em.vimrc

:scriptnamespode revelar quando um esquema de cores padrão /usr/share/vim/vim80/colors/ron.vimestá sendo carregado.

Serge Stroobandt
fonte