You can set the Vim color scheme by issuing
:colorscheme SCHEME_NAME
but, oddly enough, you can't get the currently used scheme by issuing
:colorscheme
as this results in "E471: Argument required
". I also don't see the color scheme listed in the output of :set
.
So how do you go about figuring out the current color scheme in use (other than manually switching the themes until you recognize it)?
Best option is to use
:colo
or:colorscheme
in current vim and the actual colorscheme text is shown. Please see,for more details.
A one-line version of DrAl's answer:
The
get()
function will fall back to'default'
if the variable has not yet been set.There's no guaranteed way (as a colour scheme is essentially a load of vim commands that are sourced). However, by convention there should be a variable
g:colors_name
that is set to the name of the colour scheme.Therefore, try this:
If you get E121, it's either a poorly made colour scheme or it's the default one.
A shinier way of doing this is (for recent versions of vim):
Then do:
If it says "default", do
:colorscheme default
and see if the colours change. If they do, you're using a malformed colour scheme and there's not a lot you can do about it other than manually switching themes until you recognise it.The variable
g:colors_name
is documented here: