Vous pouvez définir le jeu de couleurs Vim en émettant
:colorscheme SCHEME_NAME
mais curieusement, vous ne pouvez pas obtenir le schéma actuellement utilisé en émettant
:colorscheme
car cela donne "E471: Argument required
". Je ne vois pas non plus le jeu de couleurs indiqué dans la sortie de :set
.
Alors, comment allez-vous déterminer le jeu de couleurs actuel (autrement que de changer manuellement de thème jusqu'à ce que vous le reconnaissiez)?
Il n'y a pas de moyen garanti (comme un jeu de couleurs est essentiellement un chargement de commandes vim qui sont générés). Cependant, par convention, il devrait exister une variable g:colors_name
définie sur le nom du jeu de couleurs.
Par conséquent, essayez ceci:
echo g:colors_name
Si vous obtenez le E121, il s’agit d’un jeu de couleurs mal fait ou du jeu de couleurs par défaut.
Une manière plus brillante de le faire est (pour les versions récentes de vim):
function! ShowColourSchemeName()
try
echo g:colors_name
catch /^Vim:E121/
echo "default
endtry
endfunction
Alors fais:
:call ShowColourSchemeName()
Si cela indique "par défaut", faites :colorscheme default
et voyez si les couleurs changent. S'ils le font, vous utilisez un jeu de couleurs mal formé et vous ne pouvez rien y faire à part changer de thème manuellement jusqu'à ce que vous le reconnaissiez.
La variable g:colors_name
est documentée ici :
:help colorscheme
La meilleure option consiste à utiliser :colo
ou :colorscheme
dans vim actuel et le texte du schéma de couleurs réel est affiché. S'il te plait regarde,
:help colorscheme
pour plus de détails.
Une version d'une ligne de la réponse de DrAl:
let current_scheme = get(g:, 'colors_name', 'default')
La fonction get()
va revenir à 'default'
si la variable n'a pas encore été définie.