이 두 vim autocmd가 왜 서로 겹치나요?

이 두 vim autocmd가 왜 서로 겹치나요?

.vimrc에 다음 두 가지 autocmd 구성이 있습니다.

autocmd FileType python highlight OverLength ctermbg=red ctermfg=white guibg=red
autocmd FileType python match OverLength /\%80v.\+/
autocmd FileType python highlight ExtraWhitespace ctermbg=blue guibg=blue
autocmd FileType python match ExtraWhitespace /\s\+$/

첫 번째는 80자를 초과하는 줄 부분을 빨간색 배경으로 표시합니다.
한편, 두 번째는 줄 끝에 파란색으로 추가 공백을 표시합니다.

문제는 그들이 함께 일하지 않는다는 것입니다!
둘 다 활성화하면 두 번째 것만 ExtraWhitespace작동합니다. 하지만 주석 을
달면 제대로 작동합니다.ExtraWhitespaceOverLength

왜 이런 일이 발생하며 어떻게 해결합니까?

답변1

:2match두 번째 항목 의 경우 (플러그인 에 대한 :help :2match세부 정보 및 참고 사항 참조 )::3matchmatchparen

autocmd FileType python highlight OverLength ctermbg=red ctermfg=white guibg=red
autocmd FileType python match OverLength /\%80v.\+/
autocmd FileType python highlight ExtraWhitespace ctermbg=blue guibg=blue
autocmd FileType python 2match ExtraWhitespace /\s\+$/

관련 정보