我正在尝试为 Vdebug 设置一些更漂亮的突出显示。
我看了来源,它说我需要瞄准一个DbgBreakptLine
(我不知道它们叫什么,但它就是你放在后面的东西hi
)。
但如果我输入:
hi DbgBreakptLine ctermbg=NONE ctermfg=NONE
在我的 vim 配色方案中,它什么都不做。但是,将其粘贴到会话中会产生预期的效果。我只能得出这样的结论:Vdebug 以某种方式优先处理我选择的样式。但是它是怎么做到的?它是在我的配色方案之后运行的吗?我不这么认为,因为我的 .vimrc 做的第一件事是加载病原体,然后选择我的配色方案。
鉴于此,我在网上寻找解决插件覆盖配置问题的任何方法,但没有找到任何有用的方法。
我的.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