Vim scrollt sehr langsam, wenn eine Zeile zu lang ist


23

Ich hätte nie gedacht, dass Vim so langsam sein würde. Ich habe nur folgende lange Schlange:

Bildbeschreibung hier eingeben
(Zum Vergrößern auf das Bild klicken)

Ich starte Vim (MacVim) unter Mac OS X mit der Terminal-App. Hier ist mein Vimrc . Ich hoffe, dass es nichts mit einigen meiner Plugins zu tun hat. Wenn ich die große Linie im Bild aufbreche, funktioniert alles wieder schnell.


+1. Danke für das Bild! Diese eine Zeile selbst ist extrem lang. Denken Sie daran, dass CLI-Texteditoren in den Tagen von DOS verwendet wurden, um Zeilen auf 255 Zeichen zu beschränken. Die Syntaxhervorhebung erfordert, dass jedes HTML-Tag, das geöffnet und geschlossen wird, sowie jedes doppelte Anführungszeichen und anschließend jede Variable überwacht werden. Und ich bin mir sicher, dass der Editor jedes Mal, wenn Sie ein anderes Tag in das HREF-Tag einbetten, herausfinden muss, was das bedeutet. Ich habe gesehen, dass Emacs Probleme mit der Hervorhebung von Text haben, mit dem VI keine Probleme hat: Auch Sie können Editoren nach Bedarf auswählen, wie wir es mit Chrome, FF und dem berüchtigten IE-Browser tun.
Vlueboy

Antworten:


23

Dies ist ein bekanntes Problem bei Vim und sehr langen Leitungen. Ich sehe drei Lösungen:

  1. Deaktivieren Sie die Syntaxhervorhebung mit :syntax off.
  2. Begrenzen Sie die Syntaxhervorhebung mit :set synmaxcol=200oder einem anderen Wert.
  3. Brechen Sie Ihre lange Schlange in kleinere Stücke mit :s/\s<a/<C-v><Enter><a.

In diesem speziellen Fall würde ich Lösung 3 empfehlen.


36

versuche folgendes:

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

sonst empfehle ich vim zu beschleunigen durch:

set ttyfast " u got a fast terminal
set ttyscroll=3
set lazyredraw " to avoid scrolling problems

2
+1. Dies ist nützlich, auch wenn es vom Fragesteller nicht als "beste" Antwort ausgewählt wurde.
Vlueboy

2
Wow synmaxcolhat so einen Unterschied gemacht, wenn es darum geht, Blog-Posts in Markdown zu schreiben.
Keith Smiley

lazyredrawhat den Trick für mich getan. Auch ohne Plugins war das Scrollen durch bestimmte Dateien unerträglich langsam. Dies war sowohl bei vim als auch bei gvim der Fall. Bei der Profilerstellung wurde nichts angezeigt.
Verwirrung

set synmaxcol=4096Das Problem, dass Syntax-Hervorhebungen in langen Zeilen unterbrochen wurden, wurde vollständig behoben :)
Jay Taylor

1

Ich denke, Sie scheinen die Cursorlinie gesetzt zu haben. Ich fand, dass dies der größte Faktor war, der dazu beigetragen hat, mein Ziel zu verfehlen. Möglicherweise möchten Sie versuchen, dies zu deaktivieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.