Cela semble être une question vraiment stupide, mais j'ai un fichier Python qui contient un nombre de mille chiffres et ce fichier semble fonctionner très lentement, je ne suis pas sûr qu'il y ait une sorte de traitement en cours que je suis pas au courant.
J'appuie sur line up j
et il y a une pause définie de ~ 1 seconde c'est très douloureux!
Je n'ai cela que sur le fichier Python, cela ne se produit pas sur les autres.
Après avoir supprimé le numéro, le fichier fonctionne à nouveau normalement ...
Voici le numéro:
number=("""7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450""")
Ce n'est même pas vraiment un nombre, c'est une chaîne.
.txt
. Un motif de regexp de mise en évidence de la syntaxe s'égare, je suppose.synmaxcol
un nombre limité (comme la largeur de votre terminal).Réponses:
Je peux reproduire cela avec le
syntax/python.vim
qui est livré avec Vim 7.4.663.En utilisant
:syntime
, cela semble être causé par le groupe / modèle de syntaxe suivant:Vous devez signaler ce problème à son responsable (son nom et son adresse e-mail figurent dans l'en-tête du script).
Soit dit en passant, je ne pouvais pas reproduire cela à l'origine, car j'utilise un script de syntaxe alternative d' ici . Passer à cela (si cela correspond à vos besoins) serait également une solution de contournement viable.
Edit: En examinant plus avant la cause probable, cela semble être dû aux performances pathologiques du nouveau moteur d'expression rationnelle basé sur NFA. Avec
:set regexpengine=1
, je ne vois pas ce ralentissement énorme. Ainsi, une solution de contournement / correctif possible serait de passer à l'ancien moteur pour cette correspondance de syntaxe; cela peut être fait en ajoutant\%#=1
au motif (cp.:help NFA
).la source
/usr/share/vim/vim74/syntax
, le développeur en haut estNeil Schemenauer <[email protected]>
. Puis-je te demander; est-ce la raison pour laquelle vous avez modifié les fichiers de syntaxe à l'origine? Merci