2010-11-29 32 views
3

如何一次性扩展/修改全部文件类型的vim高亮?一次扩展/修改所有文件类型的vim高亮?

我有一些相对简单的模式,我想突出显示不同,可以发生在任何文件类型。因此,而不是像下面那样添加类似于我可能使用的每种可能的文件类型(〜/ .vim/syntax/python.vim,.../css.vim,.../html.vim,...)是否有一些我可以为所有文件类型定义一次吗?

syn match SpecialComment "@[@\-+].*" containedin=Comment 
syn match Comment  "\* .*$"hs=s+1 containedin=SpecialComment 

更新:

至于建议我救了我的变化~/.vim/after/filetype.vim,与它在Cream,但不是股票GVIM或Vim的结果。实际的代码我使用here,样品蟒蛇文件来测试针对here,并且期望的结果:

what the pastebin filetypes.vim looks like in Cream

回答

3

你可以尝试把这些两行~/.vim/after/filetype.vim。这应该来源于任何顶级语法文件。这可能不是“正确”的地方,但它应该起作用。

filetype.vim似乎是在语法文件之前提供的,因此它被默认的语法文件覆盖。因此,我建议你创建一个名为类似的新文件:

~/.vim/after/common_syntax.vim 

与你感兴趣的重头戏线之后,将它添加到~/.vim/after/filetype.vim

if !exists("after_autocmds_loaded") 
    let after_autocmds_loaded = 1 
    au BufNewFile,BufRead * source ~/.vim/after/common_syntax.vim 
endif 

这将导致一旦文件被读取,该文件将被发送。

P.S.回应你的示例代码中的评论:“为什么我们不能使用普通的ol评论组而不是'pythoncomment'等?”,这是因为语法高亮组是pythonComment,它的着色方式与评论。如果你的语法足够独特,那么它就不会成为问题,你可以做containedin=ALL。如果它很接近,但不是很独特,那么你可以做containedin=ALLBUT,conflictgroup,其中conflictgroup是你想避开的亮点组。

+0

谢谢,这确实有用。我确实需要在第一行中给每个注释类型命名(pythonComment,cssComment等),但仍然比多个文件少很多。 :) – 2010-12-02 07:33:01

相关问题