我想创建一个完全相同的组名Italic
Normal
,但文字以斜体显示。我的群组名称Normal
是
设置为
Normal ctermfg=251 ctermbg=234 guifg=#cccccc guibg=#242424
我的问题是:
正确的做法是添加term=italic
如下设置
hi Italic term=italic ctermfg=251 ctermbg=234 guifg=#cccccc guibg=#242424
我想以通用的方式做,即我想
定义Italic
,使设置适用于所有人
colorscheme(以上内容仅适用于我的具体情况
色彩方案)。有办法实现吗?
hi Italic extends Normal term=italic
答案 0 :(得分:4)
要解决此问题,您可以按脚本创建突出显示组。该 下面的函数有三个字符串参数:要基于的组的名称 突出显示,要创建的组的名称,以及包含其他的字符串 突出显示属性(或要覆盖的属性)。
function! ExtendHighlight(base, group, add)
redir => basehi
sil! exe 'highlight' a:base
redir END
let grphi = split(basehi, '\n')[0]
let grphi = substitute(grphi, '^'.a:base.'\s\+xxx', '', '')
sil exe 'highlight' a:group grphi a:add
endfunction
因此,呼叫
:call ExtendHighlight('Normal', 'Italic', 'term=italic')
创建一个名为Italic
的新组,该组扩展Normal
突出显示
term=italic
属性字符串。
请注意,自定义突出显示组在颜色方案上保持不变 交换。要更正此行为,您可以在当前更新组 颜色方案的变化。
:autocmd ColorScheme * call ExtendHighlight('Normal', 'Italic', 'term=italic')