Es wird jedoch anscheinend auf die gleiche Weise mit dem Funktionsnamen hervorgehoben.
Mit können :echo synIDattr(synID(line('.'), col('.'), 1), 'name')
wir den Namen der Syntaxgruppe erhalten, was in der Tat so ist pythonFunction
.
Wenn /usr/share/vim/vim80/syntax/python.vim
wir uns das ansehen, sehen wir, dass dies hervorgehoben wird durch:
syn keyword pythonStatement class def nextgroup=pythonFunction skipwhite
syn match pythonFunction "\h\w*" display contained
hi def link pythonFunction Function
Es gibt keine Möglichkeit, Klassen separat hervorzuheben. Wenn Sie dies hinzufügen möchten, können Sie Folgendes verwenden:
" 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
Ich habe Dunkelgrün verwendet, weil Ruby dies verwendet, aber Sie können jede Farbe verwenden, die Sie mögen. Sie können das class
Schlüsselwort beliebig markieren .
Damit dies nach der integrierten Python-Syntaxdatei geladen wird, fügen Sie dies hinzu
~/.vim/after/syntax/python.vim
.
Siehe auch: Korrigieren der fehlenden Syntaxhervorhebung für Python
für eine allgemeine Einführung in die Syntaxhervorhebung und einige weitere Details.
syntax on
in Ihrem vimrc zu verwenden. Wenn es hervorgehoben ist, Sie aber die Hervorhebung ändern möchten,:h mysyntaxfile-add
erfahren Sie, wie Sie die aktuelle Syntax-Hervorhebungsdatei überschreiben. In jedem Fall sollten Sie genauer wissen, was Sie bereits versucht haben (welcher Befehl, in welcher Datei usw.).