Это на самом деле довольно легко сделать, просто создайте ~ / .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 ++ должен выделяться в комментариях.