Problemas ao usar syn-include e syn-region do Vim para incorporar o destaque da sintaxe
Estou tentando fazer com que o Vim sintaxe realce qualquer arquivo que termine com extensão.Rtex
Da seguinte maneira:
\begin{python}...\end{python}
é destacado como PythonEu sou capaz de atingir cada um desses critérios individualmente, mas incapaz de alcançar ambos simultaneamente. Eu acho que, de alguma forma, o destaque do TeX substitui minhas regiões destacadas em Python ou impede que elas entrem em vigor, e eu estou tentando descobrir como.
Primeiro passo: editar.vimrc
dar arquivos com extensão.Rtex
o tipo de arquivortex
:
au BufRead *.Rtex setf rtex
Segundo passo: crio~/.vim/syntax/rtex.vim
. É o conteúdo deste arquivo que determinará como destacar.Rtex
arquivos.
Terceiro passo: habilitar o destaque geral de TeX de nível superior,rtex.vim
parece com isso:
runtime! syntax/tex.vim
Se eu abrir agora um.Rtex
arquivo, o arquivo inteiro é destacado como TeX, incluindo qualquer texto dentro\begin{python}...\end{python}
, como esperado.
Quarto passo: siga as instruções no Vim:help syn-include
para incluir o destaque do python e aplicá-lo a todas as regiões delimitadas por\begin{python}
e\end{python}
. Minhasrtex.vim
o arquivo agora fica assim:
runtime! syntax/tex.vim
unlet! b:current_syntax
syntax include @Python syntax/python.vim
syntax region pythonCode start="\\begin{python}" end="\\end{python}" contains=@Python
ounlet! b:current_syntax
comando destina-se a forçar opython.vim
arquivo de sintaxe a ser executado, mesmo que uma sintaxe existente (TeX) já esteja ativa.
Problema: Se eu abrir agora um.Rtex
arquivo, o arquivo inteiro ainda é destacado apenas como TeX. o\begin{python}...\end{python}
região parece não ter efeito.
Experimentar: Se eu remover ou comentar oruntime!
comando, euFaz obter destaque em python, dentro do\begin{python}...\end{python}
regiões, exatamente como desejado, mas é claro que não há destaque para o TeX no restante do documento. Portanto, concluo que o destaque do TeX é de alguma forma responsável por impedir que as regiões python entrem em vigor.
Um mestre do Vim pode me oferecer alguma sugestão? Atualmente estou perplexo. Examinei várias páginas e perguntas sobre o stackoverflow que parecem relevantes, mas nenhuma delas até agora levou a uma solução:
http://vim.wikia.com/wiki/Different_syntax_highlighting_within_regions_of_a_fileMarcação de sintaxe incorporada no VimDestaque da sintaxe do VIM do html aninhado no yaml