this post was submitted on 24 May 2024
15 points (82.6% liked)

Neovim

2161 readers
3 users here now

founded 1 year ago
MODERATORS
 

Update: Based on the discussion here and in other places I added the following (well, technically I did something different in my colorscheme, but in the end it translates to that)

vim.api.nvim_set_hl(0, 'Normal', {})

This reverts the weird text and background colors to the previous behavior of ... not setting them.


With update 0.10 Neovim behavior changed regarding text color and background color.

I use a color theme that does not set those and previously this worked perfectly fine. Neovim simply used the font color defined in the terminal and had a transparent background.

Now the background is #14161b and the font color is #e0e2ea. Neither of the colors is configured ANYWHERE in my whole setup. Neither in the colorscheme, nor in my terminal configuration, nor in my Neovim configuration.

Is there a sane way to revert this to the old behavior? (i.e. use the font color configured in the terminal’s configuration and use transparent background.)

you are viewing a single comment's thread
view the rest of the comments
[–] bisby@lemmy.world 3 points 5 months ago

From the neovim 0.10 changelog:

'termguicolors' is enabled by default when Nvim is able to determine that the host terminal emulator supports 24-bit color.

So for me, i previously had vim.cmd.hi 'Normal ctermbg=none' as the method for disabling the background. But now, nvim was deciding to use gui colors for the terminal, and I was only setting terminal background to none.

The options are:

  • vim.cmd.hi 'Normal ctermbg=none guibg=none' (also none out the gui bg)
  • vim.cmd.hi 'Normal bg=none' (flat unconditional bg none)
  • vim.opt.termguicolors = false (just disable the now enabled by default function to go back to terminal colors)