문제

특정 태그 내에 코드 블록을 포함 할 수있는 사용자 정의 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에서 어떻게 작동하는지 알아낼 수 있어야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top