vim으로 구문 하이라이트를 직접 제작
1. 구문 정의 파일
vim은 "확장자 이름 .vim"이라는 파일에 각 확장자에 대한 구문을 정의합니다.
예를 들어, C 언어(example.c)의 구문 정의는 c.vim,
HTML(example.html)이면 html.vim이라는 파일에 작성됩니다.
이러한 구문에 대한 정의 파일은 ~/vim74/syntax 폴더에 있습니다.
정의되지 않은 확장자에 대한 구문 정의를 추가할 수도 있습니다.
이번에는 예제로 .txt 구문 정의를 만듭니다.
txt.vim은 기본적으로 존재하지 않으므로,
txt.vim을 새로 만들고 ~/vim74/syntax 폴더에 저장합니다.
하이라이트하고 싶은 구문을 써 넣자.
~/vim74/syntax/txt.vim
syntax keyword txtComment コメント
syntax keyword txtConstant 定数
syntax match txtString /文字列/
syntax match txtIdentifier /何これ/
syntax match txtError /エラー/
highlight link txtComment Comment
highlight link txtConstant Constant
highlight link txtString String
highlight link txtIdentifier Identifier
highlight link txtError Error
let b:current_syntax = "txt"
쓰는 방법은 구문을 지정할 때
syntax keyword [グループ名] [構文]
야syntax match [グループ名] [構文]
같은 상태로 기술합니다.이 때 그룹 이름과 구문은 자유롭게 결정됩니다.
keyword와 match의 차이는 정확한 곳은 모르지만 결과를 나중에 나타냅니다.
keyword나 match 외에도 하이라이트 개소를 범위로 지정하는 region이 있는 것 같습니다.
강조할 색상을 선택할 때는
highlight link [グループ名] [ハイライトカラー]
합니다.여기서 그룹명은 스스로 결정한 것으로부터 선택합니다.
하이라이트 컬러는 다수 준비되어 있는 중에서 선택합니다.
:h syntax
라는 명령으로 목록을 볼 수 있습니다.2. vimrc에 추가할 내용
vimrc에는 다음 문장을 추가하면 괜찮습니다.
vimrc
au BufRead,BufNewFile *.txt set filetype=txt
다른 확장자의 경우 "txt"부분을 변경하십시오.
3. test.txt로 시도
test.txt의 편집 화면은 다음과 같이 표시됩니다.
keyword로 정의한 「코멘트」와 「정수」는 1행째에서는 하이라이트되지 않네요.
분명히 keyword로 정의하면 다른 문자열과 연속적인 형태로 구문이 포함되는 경우에는 강조 표시되지 않는 것 같습니다.
공백이나 기호와 연속하는 경우에는 강조 표시됩니다.
Reference
이 문제에 관하여(vim으로 구문 하이라이트를 직접 제작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kimurap/items/7058c9fe29f51932b196텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)