VIM - Como mudar a cor de if, else, endif, for e endfor statements

0

Eu apenas o Django html, então eu tenho as tags html normais, assim como as instruções if, else, endif, for e endfor. Eu uso uma versão personalizada do esquema de cores chamado slate. Há uma linha no esquema de cores que diz isso:

:hi Statement guifg=CornflowerBlue ctermfg=lightblue

e transforma todas as tags html e if, else, endif, for e endforextions para uma cor cornflowerBlue. Como faço para que a cor das instruções if, else, endif, for e endfor uma cor diferente das tags html?

    
por user216485 11.01.2014 / 23:06

1 resposta

1

Os links de destaque correspondentes são os seguintes:

de syntax/django.vim :

HiLink djangoStatement Statement

de syntax/html.vim :

HtmlHiLink htmlTagName                 htmlStatement
HtmlHiLink htmlStatement          Statement

Você vê que ambos acabam se vinculando ao grupo Statement definido no seu esquema de cores e em azul no seu caso.

Para alterá-los, escolha grupos de destaque do seu esquema de cores (por exemplo, Special e Constant ) e redefina os links em ~/.vimrc :

highlight link htmlTagName Special
highlight link djangoStatement Contant

A magia oculta do comando HiLink (que é apenas um invólucro para :hi def link ) é que quando existe um link (como com as duas linhas acima), o def não será ativado. / p>

Alternativamente, você também pode definir novas cores no local (mas é melhor centralizado em um esquema de cores):

highlight htmlTagName ctermfg=Cyan guifg=Cyan
    
por 11.01.2014 / 23:24