Vim에서는 colorscheme이 변경 될 때 함께 주어진 언어에 대한 구문 색상 규칙을 변경할 수 있습니까?Vim : colorscheme을 변경할 때 구문 색상 규칙을 변경하십시오.
내가 빔의 착색 MATLAB 코드 일부 플러그인 설치 : 여기
는 일례이다. 다음 파일을 여러 개 제공합니다 :
.vim/colors/matlabdark.vim
.vim/colors/matlablight.vim
.vim/ftplugin/matlab.vim
.vim/indent/matlab.vim
.vim/syntax/matlabcolours.vim
.vim/syntax/matlab.vim
제공된 colorschemes로 아주 잘 작동합니다. 그러나 때로는 다른 색상 표를 사용하고 다른 색상 표를 적용 할 때 (예 : 솔라 화) 쉼표 및 세미콜론은 배경색이 너무 강합니다. .vim/syntax/matlab.vim
을 조사한 결과 쉼표와 세미콜론이 그룹 SpecialKey
에 할당되어있는 것을 볼 수 있습니다.
.vim/syntax/matlab.vim
의 그 부분을 편집하려 : syn match matlabComma "," display
syn match MatlabSemicolon ";" display
(...)
command -nargs=+ HiLink hi def link <args> " creates HiLink command
(...)
if g:colors_name == 'solarized' " added by me
HiLink matlabComma Normal " added by me
HiLink matlabSemicolonn Normal " added by me
else " added by me
HiLink matlabComma SpecialKey
HiLink matlabSemicolonn SpecialKey
endif " added by me
(...)
하지만 솔라리에 색상 구성표를 변경할 때 아무 반응이 없습니다. 그런 다음이 스크립트를 .vim/after/syntax/
에 넣으려고했지만 행운도 없습니다.
solarized
코드 또는 다른 colorscheme 코드를 변경해야만 원하는 것을 얻을 수 있다고 가정하지만 간단히 볼 수는 없습니다. colorscheme이 변경 될 때 어떤 파일/스크립트가 실행되는지 이해하려면 vim 스크립팅에 대해 충분히 알지 못합니다. 아마도 .vim/colors/<wanted_scheme>.vim
스크립트 일 것입니다.
필요한 경우 matlab은 here입니다.
'HiLink'는 무엇을합니까? – FDinoff
'안녕 링크'또는 '하이라이트 링크'와 같다고 생각합니다 – islijepcevic
'HiLink'가 어디서 왔는지 알았습니다. 그에 따라 질문의 코드가 업데이트됩니다. – islijepcevic