Vim – Custom Syntax Highlighting Including Other Languages

syntax highlightingvim

VIM 7.3.46

I have a custom syntax file defined for making my notes more readable.

I want to define a range that will apply syntax highlighting from an existing syntax file (e.g. php, javascript or whatever) within certain boundary characters.

For example,

Notes.txt
Notes would be here, blah blah...
More notes, then a javascript code block with proper js highlighting below this:

**jsbegin**
    $('#jquerystuff').change(function(){
        var example = $(this).val();
        alert(example);
    });
**jsend**

So I'm looking for something like this to put in the vim syntax file:

so <sfile>:p:h/javascript.vim
so <sfile>:p:h/php.vim

syn region notesJS matchgroup=javascript start="**jsbegin**" end="**jsend**" contains=javascript
syn region notesPHP matchgroup=php start="**phpbegin**" end="**phpend**" contains=php

But it must only apply javascript highlighting to text within the defined range:

Best Answer

The required lines are as follows:

" Include PHP highlighting between **phpbegin** and **phpend** tags
syn include @notesPHP syntax/php.vim
syn region phpCustom start=+\*\*phpbegin\*\*+ keepend end=+\*\*phpend\*\*+ contains=@notesPHP

" Include JavaScript highlighting between **jsbegin** and **jsend** tags
syn include @notesJavaScript syntax/javascript.vim
syn region javaScriptCustom start=+\*\*jsbegin\*\*+ keepend end=+\*\*jsend\*\*+me=s-1 contains=@nJavaScript
Related Question