let UglyColor = '#40ffff'
let Greenish = '#00dd00'
let MyStyle = 'bold'
exe 'hi Keyword gui=' . MyStyle . ' guifg=' . UglyColor
exe 'hi Comment guifg=' . Greenish
然后,您可以通过创建字典来进一步实现此功能:
let UglyColor = '#40ffff'
let Greenish = '#00dd00'
let ColourAssignment = {}
let ColourAssignment['Keyword'] = {"GUIFG": UglyColor, "GUI": "Bold"}
let ColourAssignment['Comment'] = {"GUIFG": Greenish}
然后像这样处理它:
for key in keys(ColourAssignment)
let s:colours = ColourAssignment[key]
if has_key(s:colours, 'GUI')
let gui = s:colours['GUI']
else
let gui='NONE'
endif
if has_key(s:colours, 'GUIFG')
let guifg = s:colours['GUIFG']
else
let guifg='NONE'
endif
if has_key(s:colours, 'GUIBG')
let guibg = s:colours['GUIBG']
else
let guibg='NONE'
endif
if key =~ '^\k*$'
execute "hi ".key." term=".term." cterm=".cterm." gui=".gui." ctermfg=".ctermfg." guifg=".guifg." ctermbg=".ctermbg." guibg=".guibg." guisp=".guisp
endif
1条答案
按热度按时间siotufzp1#
使用内置语法是不可能的。但是,如果您自己制定语法,就可以做到:
然后,您可以通过创建字典来进一步实现此功能:
然后像这样处理它:
这就是my Bandit colour scheme的工作原理(其中有更多的逻辑来自动生成cterm颜色,灯光背景颜色和一个语法文件,这样颜色方案就可以自高亮显示了)。请随意看看这个,并窃取你自己的颜色方案的函数和格式。