syntax/colors의 after에 차이의 고유 하이라이트 추가

3666 단어 Vim

소개



기존 colorscheme 및 syntax에 차등 사용자 정의 설정을 추가하는 방법을 보여줍니다.

after 정보



Vim에서 로드되는 설정 파일은 runtimepath 에 의해 설정되고, after는 설정의 추가 로드 용도로 끝에 설정되어 있습니다.
Windowsの場合
(略),$VIM/vimfiles/after,$HOME/vimfiles/after

독자적인 하이라이트를 추가하기 위해서, 이번은 이 after 디렉토리에 차등의 syntax나 colorscheme를 두어 대응해 보겠습니다.

after에 두는 colorscheme에 관하여



추가용의 colorscheme는 after/colors/ 디렉토리에 배치합니다만, 오리지날과 동명인 채로는 after/colors/ 측만이 읽히고 오리지날은 읽히지 않게 되어 버립니다.
대책으로서, 양자 각각을 읽어들이는 독자적인 커멘드를 vimrc 에 추가합니다.
" vimrc
command! -nargs=1 ColorScheme call ColorScheme(<f-args>)
function! ColorScheme(scheme)
  execute 'colorscheme ' . a:scheme
  try
    execute 'colorscheme ' . a:scheme.'_after'
  catch
  endtry
endfunction

이것으로 준비 완료입니다.
추가용을 after/colors/ 에 배치할 때는, 파일명을 オリジナル名+_after 에 리네임 합니다.

참/가짜를 강조하는 하이라이트



예를 들어, Go 언어에서 진/가짜를 강조하기 위한 하이라이트를 desert colorscheme용으로 작성해 보겠습니다.

설정 후에는 아래와 같은 외형이 됩니다.


파일 구성
.vim/after
├── colors
│   └── desert_after.vim
└── syntax
    └── go.vim

각 설정
" syntax/go.vim
syn keyword goNo false
syn keyword goYes true

syn match goNo /!=\?/ containedin=CONTAINED
syn match goYes /==\|!!/ containedin=CONTAINED
syn match goNoWrong /!==\|!!!/ containedin=CONTAINED
syn match goYesWrong /===/ containedin=CONTAINED

hi link goNo No
hi link goYes Yes
hi link goNoWrong Error
hi link goYesWrong Error
" colors/desert_after.vim
hi No guifg=#ff7777 guibg=#773838
hi Yes guifg=#9999ff guibg=#383888

그리고는 colorscheme 변경시에는 ColorScheme 커멘드를 이용하면 OK입니다.

요약



colorscheme은 마음에 들지만 조금 커스터마이징하고 싶다.
본 기사는 colorscheme도 after 디렉토리에의 차분 설정만으로 끝낼 수 있는 방법의 소개였습니다.

좋은 웹페이지 즐겨찾기