Coloration syntaxique Javascript dans vim

Quelqu'un D'autre a-t-il trouvé la coloration syntaxique de Javascript de VIM sous-optimale? Je trouve que parfois j'ai besoin de faire défiler pour ajuster la coloration syntaxique, car parfois elle laisse mystérieusement tomber toute la coloration.

Existe-t-il des solutions ou des moyens de résoudre ce problème? J'utilise vim 7.1.

44
demandé sur Conner 2008-09-12 16:32:33

5 réponses

Vous pouvez essayer ce surligneur de syntaxe Javascriptamélioré plutôt que celui fourni avec VIMRUNTIME.

29
répondu Rob Wells 2008-09-12 13:45:30

Eh bien, j'ai modifiéla syntaxe Javascript de Yi Zhao , et ajouté le support des mots-clés Ajax, met également en évidence les méthodes DOM et autres.

Le voici, c'est loin d'être parfait car je suis encore nouveau sur Vim, mais jusqu'à présent ça a du travail pour moi. Ma Syntaxe Javascript. Si vous pouvez corriger, ajouter des fonctionnalités, veuillez le faire.

UPDATE: j'ai oublié que ces faits saillants de syntaxe ne sont affichés que si vous les avez inclus dans votre propre colorscheme, comme je l'ai fait dans mon colorscheme Nazca. Je vais tester si je pouvais ajouter ces lignes dans mon fichier de syntaxe modifié.

Suivez la nouvelle version du fichier de syntaxe javascript dans github , car il n'est plus nécessaire de modifier votre colorscheme actuel.

15
répondu Jose Elera 2012-02-05 21:46:09

La synchronisation de la coloration syntaxique nécessite probablement un ajustement. J'ai trouvé dans certains contextes que je devais le changer.

Syntaxe synchronisation (": help syn-sync") contrôle comment vim conserve et actualise son analyse du code pour la coloration, de sorte qu'il peut commencer à dessiner n'importe où dans le fichier.

Les valeurs par défaut ne fonctionnent pas toujours pour moi, donc parfois je me retrouve à émettre

:syn sync fromstart

Je suggère de lire la documentation sous

:help syn-sync

Ou tout simplement vérifier

:help syntax

Et trouvez la section sur la synchronisation.

Prendre une décision éclairée parmi les quatre options de base disponibles. Je maintiens des mappages sur les touches de fonction pour basculer entre les modes" fromstart "et" ccomment " et pour effacer simplement les paramètres de synchronisation.

12
répondu Thomas Kammeyer 2016-08-01 15:33:26

C'est un très vieux post, mais j'éprouvais la même chose: parfois, la surbrillance de la syntaxe cessait de fonctionner en regardant la section javascript dans un fichier .html. Comme le mentionne L'OP, une solution de contournement rapide était de faire défiler vers le haut et ensuite, comme par magie, les choses commenceraient à mettre en évidence à nouveau.

Aujourd'Hui, j'ai trouvé le problème sous-jacent et une bonne solution. Dans Vim, la coloration syntaxique utilise un contexte pour dériver la surbrillance correcte, où le contexte est défini par les lignes précédentes. Il est possibilité de spécifier combien de lignes avant la ligne courante sont utilisées en émettant :syntax sync minlines=200. Dans ce cas, il utilisera jusqu'à 200 lignes précédentes comme contexte. Il est possible d'utiliser le fichier entier (qui peut être lent pour les fichiers longs) en exécutant :syntax sync fromstart.

Une fois que j'ai trouvé cela, j'ai ajouté cette ligne à mon .vimrc:

autocmd BufEnter *.html :syntax sync fromstart

Ce faisant, .html files utilisera le fichier entier comme contexte. Ainsi, la section javascript sera toujours en surbrillance correctement, quelle que soit la durée de la section JS. Espérons que cela aide à quelqu'un d'autre!

4
répondu jorgeh 2016-12-01 17:52:12

Pour une solution rapide et sale, parfois je défile de haut en bas et la surbrillance réajuste. Ctrl+L pour un rafraîchissement de l'écran peut également le fixer.

3
répondu AndrewJFord 2015-04-21 15:37:53