我想创建一个自定义ft
,其中包含c
语法突出显示和突出显示,具体取决于该行开头的字符。
假设我调用了新的扩展程序.mib
。我可以补充一下:
syntax on
filetype on
au BufNewFile,BufRead *.mib set filetype=c*
显示c
文件的.mib
语法突出显示。
如果在同一个源文件中,共存有另一组代码,这些代码由其他语言预先加上@@
。
如何区分[可能是用于c
突出显示的颜色以外的其他颜色]这些行保留c
代码突出显示其余代码,如果前置行是其中一部分未定义的ft
?
如果@@
前置行是已定义的ft
的一部分,如何包含双重语法高亮?
我也知道
:setfiletype html.c
用于双重突出显示,但我特别感兴趣的是突出显示前面的行。
答案 0 :(得分:1)
如果您自己的autocmd适合您,您可以使用另一个为您的新扩展程序定义新的语法匹配:
au BufNewFile,BufRead *.mib syn match Error "@@.*"
使用c.vim语法文件中定义的@@
突出显示,这将突出显示Error
每次出现直到该行的结尾。
您可以使用任何现有的突出显示组,也可以定义自己的突出显示组:
au ColorScheme * hi mibHighlight guibg=red gui=italic
au BufNewFile,BufRead *.mib hi syn match mibHighlight "@@.*"