我设法通过修改来实现这一点$VIMRUNTIME/syntax/html.vim
。复制到~/.vim/syntax/html.vim
(在 Windows.vim
上命名vimfiles
),并替换原始语法定义
syn region htmlLink start="<a\>\_[^>]*\<href\>" end="</a>"me=e-4 contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc
具有以下内容:
syn region htmlLink start="<a\>\_[^>]*\<href\>" end="</a>"me=e-4 keepend contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLinkText,javaScript,@htmlPreproc
syn match htmlLinkText contained contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLinkText,javaScript,@htmlPreproc "^\s*\zs.\{-}\ze\s*$"
syn match htmlLinkText contained contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLinkText,javaScript,@htmlPreproc "\S.\{-}\ze\s*$"
再往下,改变
HtmlHiLink htmlLink Underlined
到
HtmlHiLink htmlLinkText Underlined
瞧!基本上,这引入了另一个包含的语法 group htmlLinkText
,它不匹配前导空格和尾随空格,而是将突出显示应用于那个。