[vim/vim] Delek colorscheme suddenly has a white background after upgrading to vim 9 (Issue #16724)

37 views
Skip to first unread message

Simon Williams

unread,
Feb 24, 2025, 5:40:19 AMFeb 24
to vim/vim, Subscribed

Steps to reproduce

  1. Use vim with delek color scheme for 20 years. The background color is black, like my terminal. In fact, I picked delek because I thought it was just using the terminal background and not trying to override with its own like many of the other colorschemes do.
  2. Upgrade to vim 9.1.
  3. Suddenly for no apparent reason I'm blinded by a white background.

Apparently "delek has always been white" and a bug has been fixed so now it's white for real. It's been this way for 20 years so changing it now is just annoying.

I wouldn't mind so much if I could at least just :set background=black or something sane to fix it. But nothing seems to work. The advice to "just override the colorscheme" is madness. I use vim all over the place on random machines and so I have a very tiny config file that I can use for these cases - having to also copy over a full colorscheme is nonsense. I picked a builtin colorscheme precisely so that I wouldn't have to do this.

Expected behaviour

  • Upgrading vim shouldn't have resulted in a builtin colorscheme completely changing its background colour like this.
  • I should be able to set the background colour with a single option, without having to copy and override the entire colorscheme

Version of Vim

9.1

Environment

  • Operating system: Linux Mint 22
  • $TERM: xterm-256color, xterm
  • Shell: bash 5.2.21
  • Terminal: Konsole, xterm

Logs and stack traces


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/16724@github.com>

SystemParadoxSystemParadox created an issue (vim/vim#16724)

Steps to reproduce

  1. Use vim with delek color scheme for 20 years. The background color is black, like my terminal. In fact, I picked delek because I thought it was just using the terminal background and not trying to override with its own like many of the other colorschemes do.
  2. Upgrade to vim 9.1.
  3. Suddenly for no apparent reason I'm blinded by a white background.

Apparently "delek has always been white" and a bug has been fixed so now it's white for real. It's been this way for 20 years so changing it now is just annoying.

I wouldn't mind so much if I could at least just :set background=black or something sane to fix it. But nothing seems to work. The advice to "just override the colorscheme" is madness. I use vim all over the place on random machines and so I have a very tiny config file that I can use for these cases - having to also copy over a full colorscheme is nonsense. I picked a builtin colorscheme precisely so that I wouldn't have to do this.

Expected behaviour

  • Upgrading vim shouldn't have resulted in a builtin colorscheme completely changing its background colour like this.
  • I should be able to set the background colour with a single option, without having to copy and override the entire colorscheme

Version of Vim

9.1

Environment

  • Operating system: Linux Mint 22
  • $TERM: xterm-256color, xterm
  • Shell: bash 5.2.21
  • Terminal: Konsole, xterm

Logs and stack traces


Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/16724@github.com>

Maxim Kim

unread,
Feb 24, 2025, 5:48:06 AMFeb 24
to vim/vim, Subscribed

You can use hi Normal ctermbg=black ctermfg=white to set background to your taste, however it wouldn't restore the old delek terminal colors.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/16724/2678043123@github.com>

habamaxhabamax left a comment (vim/vim#16724)

You can use hi Normal ctermbg=black ctermfg=white to set background to your taste, however it wouldn't restore the old delek terminal colors.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/16724/2678043123@github.com>

Maxim Kim

unread,
Feb 24, 2025, 5:51:45 AMFeb 24
to vim/vim, Subscribed

dup of #10449


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/16724/2678052162@github.com>

habamaxhabamax left a comment (vim/vim#16724)

dup of #10449


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/16724/2678052162@github.com>

Christian Brabandt

unread,
Feb 24, 2025, 5:51:59 AMFeb 24
to vim/vim, Subscribed

you can also use the legacy delek


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/16724/2678052554@github.com>

chrisbrachrisbra left a comment (vim/vim#16724)

you can also use the legacy delek


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/16724/2678052554@github.com>

Simon Williams

unread,
Feb 24, 2025, 6:05:45 AMFeb 24
to vim/vim, Subscribed

I see what you're trying to do with standardising all the colour schemes. But on the basis that vim is regularly used when sshing into random machines, why aren't the legacy schemes at least available builtin as delek-legacy or something? The legacy config is shorter than I thought so I could just include that in my vimrc, but this still means I have to copy over a vimrc onto every machine, I can never just quickly do :color delek-legacy anywhere.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/16724/2678085753@github.com>

SystemParadoxSystemParadox left a comment (vim/vim#16724)

I see what you're trying to do with standardising all the colour schemes. But on the basis that vim is regularly used when sshing into random machines, why aren't the legacy schemes at least available builtin as delek-legacy or something? The legacy config is shorter than I thought so I could just include that in my vimrc, but this still means I have to copy over a vimrc onto every machine, I can never just quickly do :color delek-legacy anywhere.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/16724/2678085753@github.com>

Yee Cheng Chin

unread,
Feb 24, 2025, 4:17:04 PMFeb 24
to vim/vim, Subscribed

One potential option is to include legacy colors as an optional package, something like packadd colors-legacy. Not sure how the colorscheme maintainers think about that though. Personally I do think having some terminal transparent colors by default is not bad idea. Often times when I use Vim I'm doing something quirk and dirty (I'm more a GUI Vim person for long-term editing) and the background color switching can be kind of jarring.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/16724/2679667162@github.com>

ychinychin left a comment (vim/vim#16724)

One potential option is to include legacy colors as an optional package, something like packadd colors-legacy. Not sure how the colorscheme maintainers think about that though. Personally I do think having some terminal transparent colors by default is not bad idea. Often times when I use Vim I'm doing something quirk and dirty (I'm more a GUI Vim person for long-term editing) and the background color switching can be kind of jarring.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/16724/2679667162@github.com>

Romain Lafourcade

unread,
Feb 26, 2025, 2:43:38 PMFeb 26
to vim/vim, Subscribed

@SystemParadox, default still has a transparent background if you really need it.

I don't think we should include the legacy colorschemes, but I have been thinking of a possible middle ground: define a transparent background only for 0c/8c/16c if the original had hi Normal ctermbg=NONE, either explicitly or implicitly. In some cases, the background color in 16c is already degraded from the one in 256c and GUI anyway.

The following colorschemes would be impacted:

  • delek
  • desert
  • elflord
  • koehler
  • pablo
  • peachpuff
  • ron
  • slate
  • zellner

What do you think?


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/16724/2686026458@github.com>

romainlromainl left a comment (vim/vim#16724)

@SystemParadox, default still has a transparent background if you really need it.

I don't think we should include the legacy colorschemes, but I have been thinking of a possible middle ground: define a transparent background only for 0c/8c/16c if the original had hi Normal ctermbg=NONE, either explicitly or implicitly. In some cases, the background color in 16c is already degraded from the one in 256c and GUI anyway.

The following colorschemes would be impacted:

  • delek
  • desert
  • elflord
  • koehler
  • pablo
  • peachpuff
  • ron
  • slate
  • zellner

What do you think?


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/16724/2686026458@github.com>

Yee Cheng Chin

unread,
Feb 28, 2025, 8:41:39 PMFeb 28
to vim/vim, Subscribed

I don't really think the issue here has to do with 16c though and I feel like that would be an orthogonal change. The issue filer explicitly listed xterm-256color as the TERM and unless they are using super old environments it's unlikely this is the issue for them. It's really an issue about a changed default (in terms of bundled color schemes) and/or the lack of good transparent background color schemes (other than the default one), since some people expect or prefer Vim to not override the background colors when used from terminal.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/16724/2691826201@github.com>

ychinychin left a comment (vim/vim#16724)

I don't really think the issue here has to do with 16c though and I feel like that would be an orthogonal change. The issue filer explicitly listed xterm-256color as the TERM and unless they are using super old environments it's unlikely this is the issue for them. It's really an issue about a changed default (in terms of bundled color schemes) and/or the lack of good transparent background color schemes (other than the default one), since some people expect or prefer Vim to not override the background colors when used from terminal.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/16724/2691826201@github.com>

Simon Williams

unread,
May 10, 2025, 7:32:43 AMMay 10
to vim/vim, Subscribed
SystemParadox left a comment (vim/vim#16724)

I don't think we should include the legacy colorschemes, but I have been thinking of a possible middle ground: define a transparent background only for 0c/8c/16c if the original had hi Normal ctermbg=NONE, either explicitly or implicitly. In some cases, the background color in 16c is already degraded from the one in 256c and GUI anyway.

This makes a lot of sense to me, although one thing I am slightly confused about is that vim seems to be using 16 colors even when $TERM is xterm-256color.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/16724/2868770099@github.com>

Reply all
Reply to author
Forward
0 new messages