我已经使用语法高亮一段时间来匹配前导标签后面的空格字符。
autocmd Syntax * highlight LeadingSpaces guibg=#afd7af ctermbg=Black
autocmd Syntax * syntax match LeadingSpaces /^\t\+\zs \+/
问题是,它并不总是有效。例如,在块内注释中,突出显示不会生效:
test // the extra space before "test" gets highlighted
/**
* test // here the extra spaces aren't highlighted
*/
如果有人知道我做错了什么,那就太好了。否则,我想我必须回到常规匹配。
答案 0 :(得分:1)
我有类似的问题(但在行尾显示尾随空格)。要解决它,而不是使用会干扰实际语法的语法,您只需使用matchadd
突出显示正则表达式。
这看起来像这样(重用你的LeadingSpaces)
autocmd BufNew * call matchadd ('LeadingSpaces', '^\t\+\zs \+')