Definições de cores solarizadas no arquivo vimrc

6

O tema solarizado define algumas cores básicas e as atribui a variáveis, como visto em aqui .

Gostaria de saber como posso usar essas definições de cor no meu arquivo .vimrc . Atualmente, eu uso patógeno para carregar solarizado e ele é carregado com um simples syntax enabled e colorscheme solarized , mas quando eu quero referenciar, e. s:base00 no meu arquivo .vimrc , recebo um erro:

E421: Color name or number not recognized: ctermfg=s:base00
    
por Kitaro 27.10.2012 / 14:48

1 resposta

5

Existem dois problemas:

  • O comando :highlight não avalia ctermfg valores como expressões. Aceita apenas um número de cor literal ou um nome de cor (consulte :help cterm-colors ). Você obtém E421 porque s:base00 não é um número nem um nome de cor válido.

    Você pode usar execute 'highlight GroupName ctermfg=' . s:base00 para criar uma cadeia de comando e executá-la (basicamente, o que colors/solarized.vim faz); no entanto, há um problema adicional.

  • Variáveis que começam com s: são variáveis locais de script (consulte :help s:var ), portanto, elas não estão acessíveis em .vimrc (ou em qualquer lugar, exceto o script em que estão definidas: colors/solarized.vim ). / p>

    O script de definição “exporta” os valores de cor como parte dos grupos de realce que ele define, mas não parece exportar os valores individuais de cterm / gui que ele usa para cada cor Solarizada. Se você quiser criar seu próprio grupo de realce que usa esses valores, provavelmente será necessário editá-lo na sua cópia de colors/solarized.vim (embora você queira usar s:fg_base00 / s:bg_base00 em vez de s:base00 , pois antiga capa guifg vs. ctermfg para que seu grupo trabalhasse automaticamente em GUIs e terminais).

por 28.10.2012 / 05:06