要解决此问题,您可以通过脚本创建突出显示组。
下面的函数采用三个字符串参数: 组的名称
突出显示的基础、要创建的组的名称和字符串
包含要添加或覆盖的突出显示属性。
function! ExtendHighlight(base, new, extra)
redir => attrs | sil! exec 'highlight' a:base | redir END
let attrs = substitute(split(attrs, '\n')[0], '^\S\+\s\+xxx\s*', '', '')
sil exec 'highlight' a:new attrs a:extra
endfunction
因此,调用
:call ExtendHighlight('Normal', 'Italic', 'term=italic')
创建一个名为的新组Italic
延伸Normal
突出显示
由term=italic
属性字符串。
请注意,自定义突出显示组的配色方案保持不变
交换。要纠正此行为,您可以在以下情况下更新组:
当前配色方案更改:
:autocmd ColorScheme * call ExtendHighlight('Normal', 'Italic', 'term=italic')