对于文件类型插件,我想定义并使用默认的自定义突出显示名称,例如:
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' 被获取后被获取,所以用户的任何定义如果我不进行检查,那里或颜色方案中的提供将被覆盖。
最佳答案
有一个函数可以做到这一点,叫做 hlexists({name})
:
The result is a Number, which is non-zero if a highlight group called {name} exists. This is when the group has been defined in some way. Not necessarily when highlighting has been defined for it, it may also have been used for a syntax item.
所以你的代码是:
if hlexists('CsvColumn')
hi ...
endif
关于vim - 有没有办法确定一个突出显示是否已经在 Vim 中定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3539031/