我想让Vim(现在是MacVim)突出显示非ASCII字符。根据{{3}}我将这两行添加到我的vimrc中:
syntax match nonascii "[^\x00-\x7F]"
highlight nonascii guifg=#ffffff guibg=#ff0000
" highlight link nonascii ErrorMsg (this didn't work either)
我将一些包含正确单引号(hex 2019)的文本粘贴到HTML文件中。 Vim并没有强调它。
但是当我用以下内容替换上面的两行时,它起作用了:
syn match ErrorMsg /[^\x00-\x7F]/
为什么第一个版本不起作用?
编辑:进一步调查显示当我用我的文件打开vim时,两个版本都无效。但是当vim已经打开时,如果我手动执行它们,两者都有效。答案 0 :(得分:1)
您的解决方案仅适用于GUI(gvim
);如果您从终端使用Vim,请添加ctermbg
和/或ctermfb
,例如:
highlight nonascii guifg=#ffffff guibg=#ff0000 ctermbg=red
答案 1 :(得分:1)
通过预先autocmd BufEnter *
:
autocmd BufEnter * syn match ErrorMsg /[\x00-\x7F]/
这个想法来自this answer关于非特定于文件类型的语法突出显示。