我正在使用vim写乳胶。我想使用不同的文件类型突出显示乳胶注释。 (例如,我想使用c ++格式强调乳胶注释)。
有办法做到这一点吗?
(编辑)
示例:
\section{Introduction}
% This is a comment. I would like to higlight comments using the
% syntax highlighting from c++ files (so that keywords are higlighted)
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla ...
(注意:最终目标不是使用c ++ higlighting,但这使得示例更直接)
答案 0 :(得分:3)
这实际上很容易做到,只需用内容创建〜/ .vim / after / syntax / plaintex.vim:
let s:saved_syntax = b:current_syntax
unlet b:current_syntax
syntax include @Cpp syntax/cpp.vim
syntax match cppInComment /.*/ contained containedin=initexComment contains=@Cpp transparent
let b:current_syntax = s:saved_syntax
和〜/ .vim / after / syntax / tex.vim with:
let s:saved_syntax = b:current_syntax
unlet b:current_syntax
syntax include @Cpp syntax/cpp.vim
syntax match cppInComment /.*/ contained containedin=texComment contains=@Cpp transparent
let b:current_syntax = s:saved_syntax
这包括c ++语法作为TeX语法的子语法,并且只是说应该在注释中突出显示C ++代码。
答案 1 :(得分:0)
看看:h contained
。看起来你可以在自定义的syn文件中设置一些内容,只有当它们在评论中时才会突出显示C ++关键字。
:syntax keyword Test int contained
:syntax match Comment "^%" contains=Test
这有帮助吗?
答案 2 :(得分:0)
这不是一个确切的解决方案,但它可能适合您的行为。 Haskell可以用"literate" style编程,将LaTeX和Haskell代码混合在一个文件中。然后在编译时将其分开。有一个vim plugin可以单独突出显示LaTeX和Haskell部分。
答案 3 :(得分:-1)
您可能需要检查计算机上是否安装了Latex语法文件。如果没有,则必须安装语法文件。
如果您对语法定义不满意,可以谷歌搜索语法文件并进行安装。但是,我通常不会从Web替换任何语法文件。我所做的是仅为我的帐户的VIM加载新的语法文件。
我在VIM上有一些博客。不确定this one会有所帮助。