我有一个奇怪的汇编程序,它使用\
作为一个注释字符。标准 vimasm
语法使用#
作为一个注释字符,这很糟糕,因为它既是错误的,又#
是这个指令集 (它是 6502) 中的指令分隔符。
这太小众了,所以不值得为其创建新的语法文件。相反,我只想更改每个汇编程序文件的模式行中的注释字符。
我试过了:
\ vim: comments=:\\
...虽然它被接受了,而且我可以从执行中看到set comments
它已被设置,但它实际上并没有做任何事情 ---comments
语法高亮是否真的考虑了该选项?如果没有,是否有办法在模式行中覆盖它?
答案1
不,:help 'comments'
语法高亮不会考虑它。此外,模式行中允许的命令池不包括:help :syn-match
,而这正是您在这里真正需要的。
请注意,替代方案是不是编写整个语法脚本。您应该能够使用以下几行(未经测试)代码来实现所需的结果vimrc
:
augroup assembler
autocmd!
autocmd Syntax asm syn match asmComment "your pattern here" contains=asmTodo,@Spell
augroup END