Le schéma de couleurs dans .vimrc ne fonctionne pas

16

J'ai parcouru un tas de questions ici, et je suis assez expérimenté avec Vim, mais pour une raison quelconque, je .vimrcne règle colorschemeplus le problème .

Je ne sais pas quand cela a commencé, mais je viens de passer à une nouvelle machine et c'est plutôt déroutant pour moi. La partie la plus étrange est que je suis en mesure de le régler manuellement :colorscheme vividchalk, il ne fonctionnera pas quand je colorscheme vividchalken .vimrc. J'ai essayé de commenter absolument tout le reste de ma vie .vimrc, toujours pas de chance. J'ai essayé de tout commenter mais syntax onet set t_Co=256, toujours pas de chance (et même comportement des paramètres manuels de travail).

Des idées? Ma configuration est ssh-ing dans mon ordinateur Ubuntu à partir de Chrome OS.

californien
la source

Réponses:

17

[Réponse entièrement révisée pour les autres.]

Puisque la :colorschemecommande " " fonctionne manuellement, elle prouve que le schéma de couleurs est installé. Cela signifie que vous avez quelque chose après cela dans vos scripts d'initialisation qui remplace votre schéma préféré. Vous pouvez suivre cela en tapant " :scriptnames" et en le lisant pour un autre schéma de couleurs en cours de chargement. Une fois que vous l'avez trouvée, vous pouvez supprimer ou commenter cette ligne dans le script d'initialisation à partir duquel elle est appelée.

Heptite
la source
1
Non, malheureusement, il y figure. J'ai vividchalk.vimdans mon ~/.vim/colorsrépertoire, et comme je l'ai mentionné, il se charge parfaitement bien tant que je tape :colorscheme vividchalkdans une session vim. C'est comme si quelque chose d'autre l'emportait, mais rien d'autre n'était chargé.
californien
1
Et ici, je pensais avoir correctement lu votre question. Je m'excuse. Que montre la sortie de " :scriptnames"?
Heptite
Pas de soucis; merci d'avoir pris le temps de répondre! Ah oui, et je pense que c'est là que réside le problème ... donc il y a un tas de choses là-dedans, mais c'est trop long pour ce commentaire donc je vais le poster séparément. En plus de cela, avant de commenter quelque chose de couleur dans le synload.vim(à partir de la ligne 4 ci-dessus), il y avait une erreur de ne pas pouvoir trouver un schéma de couleurs appelé "ansi_blows" lors de l'exécution :so $MYVIMRC. Avez-vous des idées sur le fichier que je devrais approfondir?
californien
1
@Heptite Il y a beaucoup de choses qui sont exécutées avant et après mon ~/.vimrcapparemment. Existe-t-il un moyen de simplement indiquer que mon ~/.vimrcfichier est exécuté en dernier, afin qu'il écrase tout ce qui s'est passé avant cela?
rêveur
1
Dans mon cas, mon erreur a été de mettre colorscheme ... avant set t_Co=256 et de causer le problème.
nima
9

set background=darkdevrait être avant syntax enableet colorscheme whateverdans votre .vimrc

Alastair Irvine
la source
2
Précis, mais le problème a été trouvé avec la réponse ci-dessus. Merci quand même; j'espère que quelqu'un trouvera cela utile.
californien
Cela m'a corrigé après avoir parcouru tous les scripts. Merci! (Je ne peux pas attendre les neovim ...).
Ben
6

Pour d'autres comme moi, je tombe sur:

Si vous utilisez vimou à l' nvimintérieur d'un émulateur de terminal, assurez-vous que les paramètres de couleurs de votre profil sont corrects. Pour gnome-terminal, j'ai dû désactiver "utiliser les couleurs du thème système" dans mes préférences / profil / paramètres de couleur avant de pouvoir faire fonctionner correctement mon schéma de couleurs:

entrez la description de l'image ici

De plus, nvim a récemment déprécié NVIM_TUI_ENABLE_TRUE_COLORen faveur de set termguicolors(voir ceci ).

kuzyn
la source
0

J'ai eu le même problème sur Debian Stretch, également avec certaines autres commandes (la couleur et le fond fonctionnent manuellement mais pas en .vimrc). Mais je ne voulais pas parcourir tous les fichiers dans les noms de script.

La solution consiste à ajouter

source $VIMRUNTIME/defaults.vim

à .vimrc

Cette ligne peut être trouvée dans /usr/share/vim/vimXX/vimrc_example.vim pour référence (XX est la version vim, dans mon cas 80).

Je suppose que defaults.vim fait certaines choses de configuration nécessaires pour changer la couleur. Mais defaults.vim n'est pas chargé si l'utilisateur a un ~ / .vimrc, selon / usr / share / vim / vimrc

" Vim will load $VIMRUNTIME/defaults.vim if the user does not have a vimrc.
Benitok
la source
0

Dans mon cas, j'utilise des jeux de couleurs à partir de plugins (référentiels externes). Je dois donc charger des plugins avant d'appliquer la colorschemecommande.

Maxim Suslov
la source
0

.gvimrc

Lors de l'utilisation gvim, il peut être nécessaire de mettre colorscheme vividchalkégalement dans le .gvimrcfichier, bien que cela soit déjà présent dans.vimrc

:scriptnamespeut révéler quand un schéma de couleurs par défaut /usr/share/vim/vim80/colors/ron.vimest en cours de chargement.

Serge Stroobandt
la source