¿Hay algo que pueda hacer para mantener syntax on
al usar Vim?
Tan pronto como abro algo sustancial, se vuelve casi imposible editar después de un tiempo. Cada pulsación de tecla provoca un retraso. Si apago el resaltado de sintaxis o reinicio vim, está bien nuevamente.
Lo synmaxcol
configuré en 120. El archivo ruby de muestra tiene solo 59 líneas y no supera los 80 caracteres.
Estoy usando vim-ruby
y vim-rails
.
El problema es que el retraso parece acumularse con el tiempo. Cuando abro el archivo desde cero, está bien. Después de un tiempo se vuelve más y más lento.
syntax-highlighting
performance
firedev
fuente
fuente
vim -Nu NONE -c 'syntax on'
? ¿Has seguido los consejos de depuración en esta publicación-u NONE
lo que debe ser algún complemento. Supongo que la respuesta a la mayoría de las preguntas es 'deshabilitar complementos hasta que encuentre al culpable' :(Respuestas:
Las versiones recientes de Vim tienen un
:syntime
comando para solucionar problemas de lentitud del resaltado de sintaxis al generar un informe de cuánto tiempo tarda cada grupo de sintaxis en coincidir. Esto es muy útil y rápidamente le permite encontrar al culpable; El único inconveniente es que necesita una compilación (generalmente "ENORME") de Vim con el perfil habilitado.:help :syntime
proporciona buenas instrucciones sobre cómo emplearlo.Alternativamente, puede intentar eliminar secuencias de comandos de sintaxis individuales de
~/.vim/syntax/
y$VIMRUNTIME/syntax/
(de acuerdo con la actual'filetype'
), y luego profundizar eliminando partes de las definiciones de sintaxis dentro de la secuencia de comandos.fuente
TOTAL COUNT MATCH SLOWEST AVERAGE NAME PATTERN 0.129674 247 182 0.002365 0.000525 rubyMethodNameTag \C\<\%(roi\|paginate\|admin_index_attributes\|facilities\|manager\|net_price?\ ....
- esto es claramente de la otra carpeta. ¿Deshabilitar etiquetas?0.121880 2078 54 0.002260 0.000059 rubySymbol []})\"':]\@<!\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],]\@=
- ¿Algo que pueda hacer al respecto?:set regexpengine=1
(mejor en una nueva instancia de Vim, antes de abrir el archivo Ruby).Otro cuello de botella típico en el resaltado de sintaxis de vim es el plegado. La edición puede volverse muy lenta si un pliegue contiene muchos elementos de sintaxis (lo que básicamente significa que pasa por muchas líneas), porque vim actualizará toda la sintaxis para cada carácter insertado.
Si esto es lo que está experimentando, le sugiero el uso del complemento FastFold . Este complemento identifica los pliegues de sintaxis y los reemplaza por pliegues manuales, lo que hace que la sintaxis de vim se resalte mucho más rápido.
fuente
Esto es lo que hice al final:
xolox/vim-easytags
xolox/vim-misc
kien/ctrlp
d11wtq/ctrlp_bdelete
ytacahiroy/ctrlp-funky
conjunegunn/fzf
regexpengine=1
En este momento, Vim es suave como la mantequilla, pero ya no tengo etiquetas. Suspiro...
fuente
:help tag-commands
saltar a una etiqueta. Considero que las etiquetas son bastante esenciales cuando trabajo con Vim. Hace que la navegación sea súper simple, ¡e incluso puedes completarla automáticamente:help i_Ctrl-x_Ctrl-]
!