No entanto, aparentemente o destaca com o nome da função da mesma maneira.
Com :echo synIDattr(synID(line('.'), col('.'), 1), 'name')
podemos obter o nome do grupo de sintaxe, que é realmente pythonFunction
.
Observando /usr/share/vim/vim80/syntax/python.vim
, podemos ver que isso é destacado com:
syn keyword pythonStatement class def nextgroup=pythonFunction skipwhite
syn match pythonFunction "\h\w*" display contained
hi def link pythonFunction Function
Não há facilidade para destacar as aulas separadamente. Se você deseja adicionar isso, pode usar algo como:
" Clear default
syn clear pythonStatement
" Set it to what's in the Python file, minus the class.
syn keyword pythonStatement False None True
syn keyword pythonStatement as assert break continue del exec global
syn keyword pythonStatement lambda nonlocal pass print return with yield
syn keyword pythonStatement def nextgroup=pythonFunction skipwhite
" Now make seperate syntax groups for the class.
syn keyword pythonClassStmt class nextgroup=pythonClass skipwhite
syn match pythonClass "\h\w*" display contained
" Avoid highlighting attributes as builtins – just added "pythonClass" here.
syn clear pythonAttribute
syn match pythonAttribute /\.\h\w*/hs=s+1
\ contains=ALLBUT,pythonBuiltin,pythonFunction,pythonClass,pythonAsync
\ transparent
" Highlight the class statement and the class name.
hi def link pythonClassStmt Statement
hi pythonClass ctermfg=darkgreen guifg=darkgreen
Usei greengreen porque é isso que Ruby usa, mas fique à vontade para usar a cor que desejar. Você pode destacar a class
palavra - chave da maneira que desejar.
Para fazer isso carregar após o arquivo de sintaxe Python interno, adicione-o a
~/.vim/after/syntax/python.vim
.
Veja também: Corrigindo o destaque de sintaxe “ausente” para python
para um iniciador geral de destaque de sintaxe e mais alguns detalhes.
syntax on
no seu vimrc. Se estiver realçado, mas você desejar alterar o realce,:h mysyntaxfile-add
saiba como substituir o arquivo de realce da sintaxe atual. De qualquer forma, você deve ser mais específico com o que você já tentou (qual comando, em qual arquivo, etc).