在Vim中添加自定义文件类型

在Vim中添加自定义文件类型,vim,file-type,Vim,File Type,我想创建一个自定义的ft,它包含c语法高亮显示和一个高亮显示,具体取决于行开头的字符 假设我调用新的扩展名.mib。我可以补充: syntax on filetype on au BufNewFile,BufRead *.mib set filetype=c* 显示.mib文件的c语法突出显示 如果在同一源文件中,同时存在另一组由@预挂的其他语言的代码 如果前置行是未定义的ft的一部分,如何区分[可能使用与c高亮显示不同的颜色]这些行,使c代码在代码的其余部分保持高亮显示 如果@前置行是已定义

我想创建一个自定义的
ft
,它包含
c
语法高亮显示和一个高亮显示,具体取决于行开头的字符

假设我调用新的扩展名
.mib
。我可以补充:

syntax on
filetype on
au BufNewFile,BufRead *.mib set filetype=c*
显示
.mib
文件的
c
语法突出显示

如果在同一源文件中,同时存在另一组由
@
预挂的其他语言的代码

如果前置行是未定义的
ft
的一部分,如何区分[可能使用与
c
高亮显示不同的颜色]这些行,使
c
代码在代码的其余部分保持高亮显示

如果
@
前置行是已定义的
ft
的一部分,如何包含双语法突出显示

我也知道

:setfiletype html.c

对于双重突出显示,但我特别感兴趣的是突出显示带前缀的行。

如果您自己的autocmd运行良好,您可以使用另一个autocmd为新扩展定义新的语法匹配:

au BufNewFile,BufRead *.mib syn match Error "@@.*"
这将使用c.vim语法文件中定义的
错误突出显示,从每次出现
@
一直突出显示到该行末尾

您可以使用所需的任何现有突出显示组,或定义自己的突出显示组:

au ColorScheme * hi mibHighlight guibg=red gui=italic 
au BufNewFile,BufRead *.mib hi syn match mibHighlight "@@.*"