맞춤 강조 표시 규칙은 어디에 있습니까? 가지 질문이 있습니다. 특정 언어로 특정 구문

때때로 나는 자신의 환경 설정으로 색상과 스타일을 강조하는 기본 구문을 재정의하려고합니다.

이 작업을 수행하는 가장 적절한 방법은 내 자신의 색 구성표를 만드는 것입니다. 그러나 몇 가지 질문이 있습니다.

  1. 특정 언어로 특정 구문 그룹에 대한 강조 표시를 설정하려면 이것이 내 색 구성표에 속합니까, 아니면 배치하는 것이 좋습니다 after/syntax/[filetype].vim?

    highlight jsAssignExpIdent cterm=bold gui=bold
    

    내가 사용하는 언어가 무엇이든로드되므로 색 구성표에 모호한 언어 별 규칙을 배치하는 것은 조금 이상하게 보이지만 구문 파일에 강조 표시 규칙을 배치하는 것이 더 나빠 보입니다.

  2. 때로는에서 특정 언어에 대한 새 구문 규칙을 만듭니다 after/syntax/[filetype].vim. 다른 사용자가 이러한 확장을 사용하려는 경우 일반적인 기본 강조 그룹으로 연결되는 기본 강조 규칙을 제공하는 것이 적절합니까? 다른 사용자가 해당 강조 색상을 재정의하려면 어떻게해야합니까?

    ::::: after/syntax/asm.vim :::::
    
    syn match asmHexNumber /\(0x\|\$\)[0-9A-Fa-f]\+/
    highlight default link asmHexNumber Number
    


답변

첫 번째 질문

하이라이트 정의는 귀하의 색 구성표에 속합니다. 언어에 상관없이 모든 버퍼에로드된다는 사실은 전혀 문제가되지 않습니다.

색상 표를 편집하지 않으려면 해당 강조 표시 정의를 plugin/myhighlights.vim다음 위치에 넣을 수 있습니다 .

function! MyHighlights()
    highlight ...
    highlight ...
endfunction

augroup MyHighlights
    autocmd!
    autocmd ColorScheme * call MyHighlights()
augroup END

두번째 질문

샘플은 정확히 어떻게해야하며 모든 구문 스크립트가 수행하는 방식입니다. 이 방법을 사용하면 플러그인 개발자가 특정 색상을 사용자의 목 아래로 강요하지 않고 정상적인 기본값을 정의 할 수 있습니다.