Tuy nhiên, nó dường như làm nổi bật nó với tên hàm theo cùng một cách.
Với :echo synIDattr(synID(line('.'), col('.'), 1), 'name')
chúng ta có thể nhận được tên của nhóm cú pháp, đó thực sự là pythonFunction
.
Nhìn vào /usr/share/vim/vim80/syntax/python.vim
chúng ta có thể thấy điều này được làm nổi bật với:
syn keyword pythonStatement class def nextgroup=pythonFunction skipwhite
syn match pythonFunction "\h\w*" display contained
hi def link pythonFunction Function
Không có cơ sở để làm nổi bật các lớp riêng biệt. Nếu bạn muốn thêm cái này, bạn có thể sử dụng cái gì đó như:
" 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
Tôi đã sử dụng màu xanh đậm vì đây là những gì Ruby sử dụng, nhưng hãy thoải mái sử dụng bất kỳ màu nào bạn thích. Bạn có thể đánh dấu class
từ khóa theo bất kỳ cách nào bạn muốn.
Để thực hiện tải này sau khi tệp cú pháp Python tích hợp, hãy thêm tệp này vào
~/.vim/after/syntax/python.vim
.
Ngoài ra, hãy xem: Sửa lỗi tô sáng cú pháp bị thiếu của mật mã cho python
cho một đoạn mồi chung về tô sáng cú pháp và một số chi tiết khác.
syntax on
trong vimrc của mình. Nếu nó được tô sáng nhưng bạn muốn thay đổi phần tô sáng, hãy xem:h mysyntaxfile-add
để biết cách ghi đè tệp tô sáng cú pháp hiện tại. Trong mọi trường hợp, bạn nên cụ thể hơn với những gì bạn đã thử (lệnh nào, trong tệp nào, v.v.).