Vim défile très lentement lorsqu'une ligne est trop longue

23

Je n'aurais jamais pensé que Vim serait si lent. Tout ce que j'ai, c'est la longue file d'attente suivante:

entrez la description de l'image ici
(Cliquez sur l'image pour agrandir)

J'exécute Vim (MacVim) sous Mac OS X avec l'application terminal. Voici mon vimrc . J'espère que cela n'a rien à voir avec certains de mes plugins. Si je brise la grande ligne de l'image, tout fonctionne à nouveau rapidement.

Matthias Guenther
la source
+1. Merci pour la photo! Cette ligne elle-même est extrêmement longue. N'oubliez pas que les éditeurs de texte CLI limitaient les lignes à 255 caractères à l'époque du DOS. La mise en évidence de la syntaxe nécessite que chaque balise HTML ouverte et fermée soit surveillée, ainsi que chaque guillemet double, puis chaque variable. Et je suis sûr que chaque fois que vous imbriquez une autre balise à l'intérieur de la balise HREF, l'éditeur doit comprendre ce que cela signifie. J'ai vu emacs avoir des problèmes pour mettre en évidence le texte avec lequel VI n'a aucun problème: vous pouvez également choisir des éditeurs à la demande comme nous le faisons avec Chrome, FF et le fameux navigateur IE.
Vlueboy

Réponses:

23

Il s'agit d'un problème connu avec Vim et les très longues lignes. Je vois trois solutions:

  1. Désactivez la coloration syntaxique avec :syntax off.
  2. Limitez la coloration syntaxique avec :set synmaxcol=200ou une autre valeur.
  3. Brisez votre longue ligne en petits morceaux avec :s/\s<a/<C-v><Enter><a.

Dans ce cas particulier, je recommanderais la solution 3.

romainl
la source
36

essayez de suivre:

" Syntax coloring lines that are too long just slows down the world
set synmaxcol=128

sinon je recommande d'accélérer vim en:

set ttyfast " u got a fast terminal
set ttyscroll=3
set lazyredraw " to avoid scrolling problems
phux
la source
2
+1. Cela sera utile, même s'il n'a pas été choisi par le demandeur comme «meilleure» réponse.
Vlueboy
2
Wow a synmaxcolfait une telle différence lors de l'écriture de billets de blog dans le démarque.
Keith Smiley,
lazyredrawa fait l'affaire pour moi. Même sans plugins, le défilement de certains fichiers était extrêmement lent. Ce fut le cas à la fois pour vim et gvim. Le profilage n'a rien montré.
Confusion
set synmaxcol=4096complètement résolu le problème de la mise en évidence de la syntaxe brisée sur de longues lignes :)
Jay Taylor
1

Je pense que vous semblez avoir défini le curseur. J'ai trouvé que c'était le plus gros contributeur au retard dans mon vim. Vous voudrez peut-être essayer de désactiver cela.

AravindKrishnan
la source