我最近为.vimrc
if has("autocmd")
" Highlight TODO, FIXME, NOTE, etc.
if v:version > 701
autocmd Syntax * call matchadd('Todo', '\W\zs\(TODO\|FIXME\|CHANGED\|XXX\|BUG\|HACK\)')
autocmd Syntax * call matchadd('Debug', '\W\zs\(NOTE\|INFO\|IDEA\)')
endif
endif
基本上,它允许我定义与不同突出显示匹配的关键字(Todo和Debug是颜色的名称)。
有没有办法可以定义自己的着色方案并给它们命名?具体我想要的是3个标签:TODO1,TODO2和TODO3。这个想法是TODO3的优先级低于TODO1,因此会以较浅的颜色突出显示。
如果我无法定义自己的着色,我在哪里可以找到我可以使用的颜色名称列表?
答案 0 :(得分:1)
如果您不想使用默认主题颜色,可以使用以下解决方案:
" Define autocmd for some highlighting *before* the colorscheme is loaded
augroup VimrcColors
au!
autocmd ColorScheme * highlight ExtraWhitespace ctermbg=darkgreen guibg=#444444
autocmd ColorScheme * highlight Tab ctermbg=darkblue guibg=darkblue
augroup END
之后(必须之后):
" Load color scheme
colorscheme yourscheme
颜色定义遵循以下格式:
autocmd ColorScheme * highlight <ColorName> ctermbg=<TerminalBackgroundColour> guibg=<GuiBackgroundColour> ctermfg=<TerminalFontColor> guifg=<GuiFontColour>
cterm
颜色必须来自预定义列表(有关详细信息,请参阅:help cterm-colors
)。 Gui颜色可以是任何Hex颜色。