Vim:使用不同的文件类型突出显示latex注释。

时间:2010-06-30 13:58:42

标签: vim comments syntax-highlighting highlighting

我正在使用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,但这使得示例更直接)

4 个答案:

答案 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会有所帮助。