J'ai plusieurs highlight
commandes dans mon .vimrc
dossier. Dans Vim 7.3, celles-ci sont entrées en vigueur immédiatement après le démarrage de Vim. Après la mise à jour vers Vim 7.4, ce n'est plus le cas. Vim utilise sa surbrillance par défaut initialement. Lorsque je charge .vimrc
une deuxième fois en exécutant source ~/.vimrc
, la mise en surbrillance fonctionne comme je le souhaite.
Vous devriez pouvoir reproduire ce problème en procédant comme suit:
Faites une copie de votre
.vimrc
dossier.Remplacez-le
~/.vimrc
par un fichier contenant uniquement la lignehighlight Type ctermfg=28 cterm=bold
.Exécuter
vim dummy.c
dans un terminal 256 couleurs (par exemple GNOME Terminal).Tapez
int
dans le tampon. Leint
devrait apparaître en police régulière et être de couleur vert clair, ce qui n'est pas ce que je veux.Entrez
:source ~/.vimrc
. Leint
doit maintenant apparaître en gras et être de couleur vert foncé.
Selon l'article Comment contrôler / configurer les couleurs de vim , il devrait être correct de simplement mettre les highlight
commandes dans .vimrc
. L'article dit que vous devez mettre syntax enable
après les highlight
commandes, mais cela n'a fait aucune différence.
Ma première solution était de préfixer chaque highlight
commande en .vimrc
avec autocmd VimEnter *
. Cela a fonctionné pour certains types de fichiers, mais pas pour d'autres (les fichiers C en sont un exemple).
Quelle est la raison de ce comportement? Comment puis-je exécuter les highlight
commandes au démarrage de Vim pour qu'elles prennent effet pour tous les tampons pendant toute la session Vim?
la source
set compatible
au début de.vimrc
, la mise en évidence de la syntaxe fonctionne comme prévu. Donc, cela semble vraiment être ce bug en action.highlight
commandes avecautocmd ColorScheme *
, qui a été proposé comme solution de contournement dans le rapport de bogue. Cela ne fonctionne toujours pas. ☹Réponses:
Ce n'est pas une réponse définitive et votre problème ressemble au problème 542 . Apparemment, vous pouvez contourner cela, en écrivant votre propre schéma de couleurs de base, au lieu d'écrire ces
hi ...
instructions directement dans votre .vimrc.la source
En fait, vous ne devriez pas mettre vos surbrillances personnalisées dans votre vimrc mais dans des fichiers de syntaxe douanière.
Ces fichiers doivent être situés dans
~/.vim/after/syntax/filetype.vim
oùfiletype
est le type de fichier attendu. Si vous êtes principalement satisfait d'un fichier de syntaxe mais souhaitez ajouter quelques commandes, vous pouvez suivre ces étapes (tirées de:h mysyntaxfile-add
)::h mysyntaxfile
est un bon endroit pour obtenir des informations sur la façon de corriger vos propres fichiers de syntaxe. Découvrez également Vimscript The Hard Way en plusieurs chapitres sur ce sujet.la source
.vimrc/highlighting.vim
, créé un répertoire.vimrc/syntax/after
et ajouté plusieurs liens symboliques de la forme * filetype *.vim
qui pointent.vimrc/highlighting.vim
vers ce répertoire. La mise en évidence de la syntaxe ne fonctionne toujours pas.~/.vim/after/syntax
pas être~/.vimrc
.vim
et la coloration syntaxique n'a pas fonctionné, probablement à cause de ce bug 542.Pour ce que ça vaut, j'ai eu ce problème avec MacVim (8.1.950 (155)). Placer la déclaration de surbrillance après
colorscheme
dans .vimrc l'a corrigé pour moi. Par exemple:->
la source