shy*_*kov 3 syntax vim syntax-highlighting
我想为自定义编程语言创建vim语法高亮文件.即C/AL,它是Dynamics NAV系统的内部.
问题是通过文件扩展名无法检测到.历史上,C/AL使用*.TXT文件.突出显示所有*.TXT文件也不好,因为其中一些文件可能包含C/AL代码.
我知道VIM不仅可以通过扩展来检测语言,还可以通过文件内容来检测语言.我在官方手册中找到了一些例子.然而,它表明我可以使用第一种方法,或第二种方法.
是否有可能将它们组合在一起?我在哪里可以找到这种行为的例子?
先感谢您!
您可以使用getline根据文件内容优化检测.例如,这会检测.tmp文件中的XML:
autocmd! BufNewFile,BufRead *.tmp
\ if getline(1) =~ '<?\s*xml.*?>' |
\ setfiletype xml |
\ endif
Run Code Online (Sandbox Code Playgroud)
另一种方法是添加一个模式行至每一个C/AL文件.