VIM의 임베디드 구문 고리
-
21-08-2019 - |
문제
특정 태그 내에 코드 블록을 포함 할 수있는 사용자 정의 XML 파일 형식이 있습니다.
예를 들어:
<Root>
<Sql> select * from foo </Sql>
<MoreJunk> ... </MoreJunk>
<Python><![CDATA[
def Bar(*args):
return False
]]></Python>
</Root>
Vim이 내부 텍스트에 대한 SQL 구문 강조 표시를 사용하려면 어떻게해야합니까? <Sql>
내부의 텍스트에 태그와 Python Higlighting을 사용하십시오 <Python>
태그?
VIM은 HTML 파일 내부의 JavaScript를 올바르게 강조하기 때문에 이미이 작업을 수행 할 수 있다는 것을 알고 있습니다.
HTML 구문 파일을 검사하려고 시도했지만 파악할 수 없었습니다.
해결책
Python 예제가있는 XML의 경우 다음과 같은 작업을 수행해야합니다.
runtime! syntax/xml.vim
unlet b:current_syntax
syntax include @Python syntax/python.vim
syntax region pythonCode start=+<Python>+ keepend end=+/</Python>+ contains=@Python
이 라인에는 XML 구문과 Python 구문이 포함되며 VIM이 XML 구문 대신 Python 구문을 사용하는 Python 영역을 지정합니다.
물론,이 모든 것은 Vim에 잘 기록되어 있습니다. 보다 : 그는 : 동기 부여 구문 파일을 포함하는 방법에 대해
다른 팁
이것 문서 자신의 구문 강조 표시를 작성하는 방법을 설명합니다. HTML-Syntax 강조 표시가 JavaScript에서 어떻게 작동하는지 알아낼 수 있어야합니다.
제휴하지 않습니다 StackOverflow