我正在研究必须使用多语法文件的系统:任何数据文件都可以包含C ++ Python JavaScript和一些文档标记文本在一个数据文件中(类似于多语言文字编程)
是否可以通过动态文本中的某些触发关键字在缓冲区中间触发vim语法高亮显示(文件类型),例如
.doc Let's view our data object as AST tree:
.py
class AST:
tag = 'sym' .doc here we set 'sym'bolic unversal data type .py
def __init__(self,V): self.val = V .doc \emph{any data can be represented as string} .py
...
.doc
Now we need ...
vim可以在filetype=latex
上的filetype=python
结束.doc
和.py
触发器之间切换吗?
答案 0 :(得分:0)
是的,当前的cp中可以包含其他语法。 :help :syn-include
。但是,设置它有点复杂。我的SyntaxRange plugin有助于此。对于您的示例,以下调用将起作用:
:call SyntaxRange#Include('^\.doc', '\n\.\@=', 'tex')
:call SyntaxRange#Include('^\.py', '\n\.\@=', 'python')