Vim se desplaza muy lentamente cuando una línea es demasiado larga


23

Nunca hubiera pensado que Vim sería tan lento. Todo lo que tengo es la siguiente larga cola:

ingrese la descripción de la imagen aquí
(Haga clic en la imagen para ampliarla)

Ejecuto Vim (MacVim) en Mac OS X con la aplicación de terminal. Aquí está mi vimrc . Espero que no tenga nada que ver con algunos de mis complementos. Si rompo la línea grande en la imagen, todo vuelve a funcionar rápidamente.


+1. ¡Gracias por la fotografía! Esa línea en sí es extremadamente larga. Recuerde que los editores de texto CLI solían limitar las líneas a 255 caracteres en los días de DOS. El resaltado de sintaxis requiere que cada etiqueta HTML abierta y cerrada sea monitoreada, y cada comilla doble también, y luego cada variable. Y estoy seguro de que cada vez que anida otra etiqueta dentro de la etiqueta HREF, el editor tiene que descubrir qué significa eso. He visto que emacs tiene problemas para resaltar el texto con el que VI no tiene problemas: usted también puede elegir editores a pedido como lo hacemos con Chrome, FF y el infame navegador IE.
Vlueboy

Respuestas:


23

Este es un problema conocido con Vim y líneas muy largas. Veo tres soluciones:

  1. Desactiva el resaltado de sintaxis con :syntax off.
  2. Limite el resaltado de sintaxis con :set synmaxcol=200o algún otro valor.
  3. Rompe tu larga fila en trozos más pequeños con :s/\s<a/<C-v><Enter><a.

En este caso particular, recomendaría la solución 3.


36

intente lo siguiente:

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

de lo contrario, recomiendo acelerar vim:

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

2
+1. Esto será útil, incluso si no fue elegido por el autor de la pregunta como "mejor" respuesta.
Vlueboy

2
Wow synmaxcolhizo una gran diferencia al escribir publicaciones de blog en Markdown.
Keith Smiley

lazyredrawhizo el truco para mí Incluso sin ningún complemento, el desplazamiento a través de ciertos archivos era insoportablemente lento. Este fue el caso tanto en vim como en gvim. La elaboración de perfiles no mostró nada.
Confusión

set synmaxcol=4096resolvió por completo el problema del resaltado de sintaxis roto en largas filas :)
Jay Taylor

1

Creo que parece tener la línea de cursor establecida. Descubrí que solía ser el mayor contribuyente al retraso en mi vim. Es posible que desee intentar deshabilitar eso.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.