Não há uma maneira garantida (como um esquema de cores é essencialmente uma carga de comandos do vim que são originados). No entanto, por convenção, deve haver uma variável g:colors_name
que é definida para o nome do esquema de cores.
Portanto, tente isto:
echo g:colors_name
Se você obtiver E121, é um esquema de cores mal feito ou o padrão.
Uma maneira mais brilhante de fazer isso é (para versões recentes do vim):
function! ShowColourSchemeName()
try
echo g:colors_name
catch /^Vim:E121/
echo "default
endtry
endfunction
Então faça:
:call ShowColourSchemeName()
Se disser "padrão", faça :colorscheme default
e veja se as cores mudam. Se isso acontecer, você está usando um esquema de cores malformado e não há muito o que fazer a respeito, a não ser alternar manualmente os temas até reconhecê-lo.
A variável g:colors_name
está documentada aqui :
:help colorscheme
"default
perdida?