Vim 如何设置一个全局语法规则,使其优先于特定于文件的规则?
我希望意外角色的背景颜色与普通角色不同。我将以下突出显示规则放入我的Vim 如何设置一个全局语法规则,使其优先于特定于文件的规则?,vim,Vim,我希望意外角色的背景颜色与普通角色不同。我将以下突出显示规则放入我的.vimrc: syntax match NotPrintableAscii "[^\x20-\x7F]" hi NotPrintableAscii ctermbg=236 这句话对于某些文件来说很好,但是对于任何具有特定于文件类型的语法规则的文件都不起作用 我应该在何处设置此选项以使其适用于所有文件类型?此选项有时仅适用于以下两种情况: 它只匹配尚未包含在另一个语法组中的顶级元素。添加containedin=ALL以将其嵌
.vimrc
:
syntax match NotPrintableAscii "[^\x20-\x7F]"
hi NotPrintableAscii ctermbg=236
这句话对于某些文件来说很好,但是对于任何具有特定于文件类型的语法规则的文件都不起作用
我应该在何处设置此选项以使其适用于所有文件类型?此选项有时仅适用于以下两种情况:
- 它只匹配尚未包含在另一个语法组中的顶级元素。添加
以将其嵌入到所有位置。请注意,这可能会破坏现有语法containedin=ALL
中的定义太早;另一个语法脚本将覆盖您的语法脚本。将~/.vimrc
前置到:autocmd Syntax*
命令,并将其置于:Syntax
中的~/.vimrc
之后:Syntax on
.py
文件):
谢谢你的回答。“将
:autocmd Syntax*
前置到:Syntax
命令”是什么意思?此:autocmd Syntax*语法与NotPrintableAscii“[^\x20-\x7F]”匹配。
syntax on
" For files that don't have filetype-specific syntax rules
syntax match NotPrintableAscii "[^\x20-\x7F]"
" For files that do have filetype-specific syntax rules
autocmd Syntax * syntax match NotPrintableAscii "[^\x20-\x7F]" containedin=ALL
hi NotPrintableAscii ctermbg=236