93 votes

Vim, comment recharger la coloration syntaxique ?

Lorsque j'exécute Rmodel, Rcontroller et autres dans Vim. Je ne vois que du texte blanc. Mais lorsque je passe au tampon suivant et que je reviens en arrière par :bn y :bl les couleurs fonctionnent.

Voici mon dossier .vim https://github.com/regedarek/dotvim

104voto

Mike Lippert Points 1072

Utilice :syntax sync fromstart

J'ai eu ce tuyau par http://vim.wikia.com/wiki/Fix_syntax_highlighting

Cet article suggère également de créer un mappage pour cette commande, par exemple pour mapper F12 :

noremap <F12> <Esc>:syntax sync fromstart<CR>
inoremap <F12> <C-o>:syntax sync fromstart<CR>

0 votes

Cela fonctionne, mais supprime le soulignement pour la vérification orthographique. Y a-t-il un moyen d'empêcher cela ?

1 votes

Désolé, je ne sais pas. Je n'ai pas de système de vérification de l'orthographe. Cela peut dépendre de votre addon particulier. Si personne d'autre ne répond, il peut être intéressant de rédiger une question avec toutes les informations pertinentes.

3 votes

Je finis par utiliser autocmd BufEnter,InsertLeave * :syntax sync fromstart pour forcer une synchronisation syntaxique après avoir entré un tampon. La synchronisation syntaxique est également déclenchée lorsqu'il y a une erreur de syntaxe. InsertLeave l'événement se déroule.

59voto

holygeek Points 6580

Essayez :

:e

Si vous n'avez pas de modifications non sauvegardées dans le fichier.

Ou :

:syn off | syn on

0 votes

Créez un mappage pour soulager la douleur, quelque chose comme nmap <F6> :Rmodel|e<CR>

2 votes

Il semble qu'il devrait y avoir une commande intégrée pour rafraîchir la coloration syntaxique. Une autre méthode qui semble fonctionner est de sauter à une autre partie du fichier, comme le début ou la fin, et de revenir en arrière, par exemple : gg``

2 votes

":syntax sync fromstart" (sans les guillemets) n'a pas rechargé la coloration syntaxique du type de fichier sur des fichiers qui parfois n'affichent pas la coloration syntaxique -- un problème permanent pour moi et Vim, pour une raison quelconque. Cependant, ":syn off | syn on" a immédiatement fonctionné. ":e !" permet également de recharger la coloration syntaxique, mais attention : les modifications non sauvegardées de votre fichier seront perdues !

15voto

JESii Points 614

J'ai essayé toutes les solutions ci-dessus - aucune n'a fonctionné pour moi.

La seule chose qui fonctionne est : :filetype detect alors j'ai fait un raccourci rapide :noremap <Leader>,ftd :filetype detect

10voto

Wormer Points 485

Parfois, la syntaxe est correcte, mais tout ce qui est cassé, ce sont les plis. Dans ce cas zx aide beaucoup.

Extrait de la documentation VIM :

zx

Mise à jour des plis : Annuler les plis ouverts et fermés manuellement : ré-appliquer 'foldlevel', puis faire 'zv' : Voir la ligne du curseur. Force également le recalcul des plis. Ceci est utile lorsque vous utilisez l'utilisation de 'foldexpr' et que le tampon est modifié de telle sorte que les plis ne sont pas mis à jour correctement.

5voto

Ciro Santilli Points 3341

Une autre option est :

doautocmd Syntax

1 votes

Pour info, c'est la seule réponse qui a corrigé la coloration syntaxique lorsque j'ai eu ce problème ( syntax sync fromstart n'a rien fait, ni rien d'autre !)

1 votes

Une version plus courte de ceci serait :do Syntax

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X