Setting the Vim background colors
Solution 1
As vim's own help on set background
says, "Setting this option does not change the background color, it tells Vim what the background color looks like. For changing the background color, see |:hi-normal|."
For example
:highlight Normal ctermfg=grey ctermbg=darkblue
will write in white on blue on your color terminal.
Solution 2
In a terminal emulator like konsole or gnome-terminal, you should to set a 256 color setting for vim.
:set t_Co=256
After that you can to change your background.
Solution 3
Try adding
set background=dark
to your .gvimrc
too. This work well for me.
Solution 4
Using set bg=dark
with a white background can produce nearly unreadable text in some syntax highlighting schemes. Instead, you can change the overall colorscheme to something that looks good in your terminal. The colorscheme file should set the background attribute for you appropriately. Also, for more information see:
:h color
Solution 5
supplement of windows
gvim version: 8.2
location of .gvimrc: %userprofile%/.gvimrc
" .gvimrc
colorscheme darkblue
Which color is allows me to choose?
Find your install directory and go to the directory of colors
.
in my case is:
%PROGRAMFILES(X86)%\Vim\vim82\colors
blue.vim
darkblue.vim
slate.vim
...
README.txt
Maksim Vi.
Software developer in an online social entertainment company
Updated on July 08, 2022Comments
-
Maksim Vi. almost 2 years
When I try to change the background colors in
.vimrc
or directly in Vim using the command:set background=dark
... it doesn't affect my background at all. Neither does the
light
option. However, it looks okay when I run gvim.Is there a way to change the background in Vim without changing my Konsole settings?
EDIT Okay, there is a difference between guifg/guibg and ctermfg/ctermbg. While the GUI accepts lots of different color combinations, cterm allows only few standard ones.
-
Maksim Vi. almost 15 yearsThanks, it works. I tried that option before, but it seems that not all colors work, for instance brown and yellow options don't affect my default console background at all.
-
rampion almost 15 yearsthat may be b/c of what kind of terminal vim thinks you have.
-
Maksim Vi. almost 15 yearsthat actually why I posted my question here. Even dark colorschemes didn't affect my default background color.
-
Alex Martelli almost 15 yearsYep, setting up your terminal description properly to make vim happy can be a hassle (I remember epic past battles with early Linux, BSD and other Unix flavors -- nowadays with Mac and Ubuntu it just seems to work, more or less, even across ssh among them, and I don't have to do much vi-editing elsewhere these days).
-
Marin about 11 yearsHow can I add this to my vimrc?
-
Matthew about 11 yearsAlso see
:help hl-NonText
for the background colour after the last line of the file. -
Matthew about 11 years@Marin: put exactly the line from the example into your vimrc
:highlight Normal ctermfg=grey ctermbg=darkblue
. Sub in whatever colours you want. -
Bart Louwers about 8 yearsYou probably want to set that in your Terminal instead:
export TERM='xterm-256color'
. -
Julio Marins almost 8 yearsLPT: don't try to execute
.vimrc
as a shell command just put the line there and be happy -
JonnyRaa about 5 yearsyou can omit the
ctermfg=blah
if you just want to change the background colour -
Leo about 3 yearsPutting this in .vimrc does not work for me.