覆盖colorscheme

Han*_*nes 24 vim color-scheme colors

我经常发现自己想要在colorscheme中改变一些东西,但我不想编辑原始文件.我尝试将我的更改放在'〜/ .vim/after/colors/blah.vim'中,但这对我不起作用.


例如,我想更改BusyBee.vim中的CursorLine高亮显示..

〜/的.vim /颜色/ BusyBee.vim

我创建文件'〜/ .vim/after/colors/BusyBee.vim'并添加:

hi CursorLine    guibg=#000000 ctermbg=Black cterm=none
Run Code Online (Sandbox Code Playgroud)

但是,我没有看到变化.当然,如果我更改原始BusyBee.vim中的行,它会起作用,但就像我说我不想那样做.

做...

:colo Busy<TAB>
Run Code Online (Sandbox Code Playgroud)

告诉我......

BusyBee  BusyBee
Run Code Online (Sandbox Code Playgroud)

phu*_*ehe 42

你问我今天要找什么.我找到了比这里介绍的更简单的解决方案.我想要透明背景而不是主题中的黑色背景,而只是在colorscheme语句之后覆盖颜色.vimrc不起作用并且为此安装插件很奇怪.这是我做的:

autocmd ColorScheme * highlight Normal ctermbg=None
autocmd ColorScheme * highlight NonText ctermbg=None
Run Code Online (Sandbox Code Playgroud)

它为什么有效?我想vim除了读取你的colorscheme语句并加载语句然后读取你的highlight语句并改变颜色之外还做了一些事情.无论如何,似乎vim只在读取配置文件后才改变配色方案.所以我提供了一个钩子,每次改变颜色方案时都会改变颜色.一个很好的副作用是,即使你切换你的配色方案也可以这样做(你可以根据需要做一个if块).


Bea*_*eau 7

看看AfterColors.vim,它将使您能够使用该~/.vim/after/colors/BusyBee.vim方法.

  • 这个派对已经很晚了,但作为参考,AfterColors.vim 现在(由我)在 Github https://github.com/tsiemens/vim-aftercolors 上进行了镜像,这样人们就可以将它添加到他们的插件列表中。我昨天刚找到这个线程,并创建了那个 repo。想我应该记下它。 (2认同)