Цветовая схема Vim перезаписана плагином

Цветовая схема Vim перезаписана плагином

Я пытаюсь настроить более красивую подсветку для Vdebug.

Я посмотрел наисточник, и там говорится, что мне нужно указать в качестве цели DbgBreakptLine(я не знаю, как они называются, но это то, что вы ставите после hi).

Но если я поставлю:

hi DbgBreakptLine ctermbg=NONE ctermfg=NONE

в моей цветовой схеме vim он ничего не делает. Однако вставка этого в сеанс дает желаемый эффект. Я могу только заключить, что Vdebug затирает мои выбранные стили, каким-то образом получая приоритет. Но как? Он работает после моей цветовой схемы? Я так не думаю, потому что первое, что делает мой .vimrc, это загружает pathogen,затемвыбирает мою цветовую схему.

Учитывая это, я поискал в Интернете решения проблемы перезаписи конфигурации плагинами, но ничего полезного не нашел.

Соответствующая часть моего .vimrc:

execute pathogen#infect()
call pathogen#helptags()

colorscheme maxbucknell

Обновлять

Я посмотрел наэтот вопрос, и подумал, что стоит взглянуть на :scrip, который показывает, какие файлы загружаются, когда. Конечно, плагины загружаются после цветов. В идеале мне бы хотелось как-то настроить это, не меняя плагин или не делая ничего хакерского, например, помещая команду внутрь .vim/after.

решение1

Вы заметили, что плагин на самом деле определяет стиль этой группы выделения?

hi default DbgBreakptLine term=reverse ctermfg=White ctermbg=Green guifg=#ffffff guibg=#00ff00

Так как он полученпослетвой~/.vimrc иваша цветовая схема переопределит любое правило с таким же именем.

К сожалению, это не очень понятно, поэтому у вас есть три возможных варианта:

  • изменить цвета прямо в плагине,

  • перенесите эти линии из плагина в свою цветовую схему и отредактируйте их по своему вкусу,

  • добавьте эти строки в свой ~/.vimrc:

    augroup MyColors
        autocmd!
        autocmd ColorScheme * highlight DbgBreakptLine ctermbg=NONE ctermfg=NONE
    augroup END
    

Использование ~/.vim/after/каталога — это вовсе не хак: он, конечно, недостаточно документирован, но обычно он намного чище, чем эквивалентный беспорядок в вашем ~/.vimrc. В любом случае, я не уверен, что он подойдет для ваших конкретных нужд. Вы можете попробоватьэтот плагин(никогда не пробовал), но я не уверен, что то, что вы хотите, заслуживает еще одного плагина в вашей настройке.

редактировать

Оказывается, это можно сделать, ~/.vim/after/но это решение на самом деле выглядит довольно "хакерским", как по мне, так как оно смешивает "плагины" и "цветовые схемы". Что бы там ни было, просто вставьте эту строку ~/.vim/after/plugin/foo.vim(часть до точки в имени файла не имеет значения):

hi DbgBreakptLine ctermbg=NONE ctermfg=NONE

Связанный контент