tutorial commands debugging optimization vim macvim

debugging - commands - ¿Cómo ver qué plugins hacen que Vim sea lento?



vim php (5)

Encontré otro método vim buildin muy útil para mostrar exactamente los mensajes de tiempo mientras cargaba tu .vimrc.

vim --startuptime timeCost.txt timeCost.txt

Por favor, corre:

:help --startuptime

en VIM para obtener más información.

¿Hay una manera de perfilar complementos Vim?

Mi MacVim se vuelve más lento y más lento cuando abro un .py grande. Sé que podría deseleccionar todos los complementos y volver a seleccionar uno por uno para comprobar cuál es el culpable, pero ¿existe una manera más rápida?

Mi dotvim está aquí: https://github.com/charlax/dotvim


Me ha resultado útil imprimir toda la actividad de Vim en un archivo iniciando Vim con la opción -V :

vim -V12log

Esto proporciona la máxima verbosidad (nivel 12) y lo envía al log archivos. Luego puede realizar algunas acciones Vim que sabe que son lentas y luego ver qué funciones / asignaciones se están llamando internamente.


Podría ser un complemento o el resaltado de sintaxis; intente a :syntax off cuando esto sucede y vea si Vim se acelera instantáneamente.

Con los complementos, una "lentitud general" generalmente proviene de autocomandos; a :autocmd enumera todas. Investiga matando a algunos de ellos a través de :autocmd! [group] {event} :autocmd! [group] {event} . Pase de eventos más frecuentes (es decir, CursorMoved[I] ) a eventos menos frecuentes (por ejemplo, BufWinEnter ).

Si puede reproducir de manera confiable la lentitud, una búsqueda binaria podría ayudar: Aleje la mitad de los archivos en ~/.vim/plugin/ , luego el otro, repita en el conjunto que era lento.

Si realmente necesita mirar debajo del capó, obtenga una versión Vim que tenga el comando :profile habilitado. (No es la versión BIG Windows de vainilla, pero sí la que viene con Cygwin; además, la autocompilación es bastante fácil en la mayoría de las distribuciones.)


Puede utilizar el soporte de perfiles incorporado: después de iniciar vim do

:profile start profile.log :profile func * :profile file * " At this point do slow actions :profile pause :noautocmd qall!

(a diferencia de dejar noautocmd no es realmente necesario, solo hace que vim salga más rápido).

Nota: no obtendrá información sobre las funciones que se eliminaron antes de que se cierre vim.


Si tiene problemas para que las operaciones de actualización de pantalla ( ^L , desplazamiento, etc.) sean lentas, su problema puede ser un archivo de resaltado de sintaxis ineficiente. Puede probar esto deshabilitando temporalmente el resaltado de sintaxis ( :syn off ) y viendo si el problema desaparece; Si desea profundizar en los detalles, puede :syntime un perfil del archivo de sintaxis actual utilizando :syntime :

  1. Abra un archivo que cause problemas de rendimiento de resaltado de sintaxis.
  2. Ejecutar :syntime on para comenzar a perfilar.
  3. Desplácese un poco por el archivo.
  4. Ejecutar :syntime report para generar un informe. Los patrones que figuran primero en el informe son los que tardaron más tiempo en procesarse.