对于文件类型插件,我想定义并使用默认的自定义突出显示名称,例如:
hi CsvColumn guifg=black guibg=NavajoWhite ctermfg=black ctermbg=yellow
但是,我想允许用户优先定义自己的默认值,所以要执行以下操作:
if <somehow or other check if 'CsvColumn' has NOT been defined>
hi CsvColumn guifg=black guibg=NavajoWhite ctermfg=black ctermbg=yellow
fi
有办法做到这一点吗?
由于这是一个文件类型插件,每次加载或读取缓冲区时都会执行一次,因此很可能在用户的'.vimrc'源之后它会被提取,因此用户的任何定义都是如此如果我不做检查,那么在那里或在一个colorscheme中将被覆盖。
答案 0 :(得分:3)
有一个功能,名为hlexists({name})
:
结果是一个数字,如果存在名为{name}的突出显示组,则该数字不为零。这是以某种方式定义组的时间。不一定在为其定义突出显示时,它也可能已用于语法项。
所以你的代码是:
if hlexists('CsvColumn')
hi ...
fi