如何一次扩展/修改所有文件类型的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的示例python文件,以及所需的结果:
答案 0 :(得分: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。回应示例代码中的注释:“为什么我们不能使用普通的'评论'组而不是'pythoncomment'等?”,这是因为语法高亮组是pythonComment,它的颜色与评论。如果您的语法足够独特,不会出现问题,那么您可以containedin=ALL
。如果它很接近但不是很独特,那么您可以containedin=ALLBUT,conflictgroup
conflictgroup
,其中{{1}}是您想要避开的高亮组。