0

I have looked at these two questions but I think I am not understanding something.

I am using vim-git-gutter.

When I do not have any special settings, I get the default highlighting in the sign column. This is expected behavior.

I add the following to my ~/.vimrc:

highlight SignColumn ctermbg=white

Now, the background color of the gutter column changes as one would expect. But it changes to light gray and NOT white.

Is there some other magic I can use to make it actually white?

2
  • Could you tell us what is the result of :set termguicolors?. Could you tell us what is the OperatingSystem that you are using (Linux, maxOS, Windows)? Could you tell us what is the terminal emulator that you are using? Mar 17 at 18:56
  • Output: notermguicolors. OS = Ubuntu 20.04.6 LTS. Terminal emulator = gnome-terminal.
    – merlin2011
    Mar 18 at 3:42

2 Answers 2

1

I could guess that you have color 15 (white) changed to be non-white in your terminal.

Colors 0-15 quite easy to override and most of the terminals have their own colors defined. On top of it you, as a user, can also modify it to be whatever you like.

But there are other colors in 256 color palette that you can more or less rely on.

https://upload.wikimedia.org/wikipedia/commons/1/15/Xterm_256color_chart.svg

231 is a white there, so assuming your terminal can work with this palette:

highlight SignColumn ctermbg=231

PS, you can check how many colors vim can use with :set t_Co?. If it is not 256, you'll probably need to check your $TERM environment variable.

1

To control the Git Gutter sign colors there are a number of highlighting groups that are relevant:

  • SignColumn
  • GitGutterAdd
  • GitGutterDelete
  • GitGuttterChange

About the color my understanding is that either:

  1. You are using gVim or a terminal that support full color (you can set :set termguicolor)
  2. You are not using gVim and the terminal emulator doesn't support full color (you have to set :set notermguicolors)

In the first case you control the background color using the guibg and you can choose the color you want in particular white is white.

In the second case you control the background color using ctermbg and you use color code (e.g. white) that are translated by your terminal emulator using the colorization setting of your terminal. In such case depending on the colorization of your terminal white could be some kind of light grey.

If you want to change that you have to change the colorization setting of your terminal emulator.

2
  • 1
    The other answer solved the problem directly by sidestepping the terminal colorization, but this answer was super helpful for understanding that Terminal Emulators like to muck with color definitions. Thanks!
    – merlin2011
    Mar 18 at 3:44
  • Thanks for the feedback. I'm glad you solved your problem :-) Mar 18 at 5:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.