Как определить мои собственные цвета подсветки для использования с matchadd () в vim?
Недавно я нашел Этот маленький кусочек кода для моего .vimrc
if has("autocmd")
" Highlight TODO, FIXME, NOTE, etc.
if v:version > 701
autocmd Syntax * call matchadd('Todo', 'Wzs(TODO|FIXME|CHANGED|XXX|BUG|HACK)')
autocmd Syntax * call matchadd('Debug', 'Wzs(NOTE|INFO|IDEA)')
endif
endif
В основном, это позволяет мне определять ключевые слова, которые соответствуют различным выделениям (Todo и Debug-имена цветов).
Есть ли способ, которым я могу определить свои собственные схемы окраски и дать им имена? В частности, я хочу иметь 3 метки: TODO1, TODO2 и TODO3. Идея заключается в том, что TODO3 имеет более низкий приоритет, чем TODO1, и поэтому выделяется более светлым оттенком.Если Я не могу определить свою собственную окраску, где я могу найти список названий цветов, которые я могу использовать?
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
). Цвета графического интерфейса могут быть любыми шестнадцатеричными.