Esto parece una pregunta realmente tonta, pero tengo un archivo Python que tiene un número de mil dígitos y ese archivo parece estar funcionando muy lentamente, no estoy seguro de si hay algún tipo de procesamiento en curso. No estoy al tanto.
Presiono alinear j
y hay una pausa definitiva de ~ 1 segundo, ¡eso es muy doloroso!
Sin embargo, solo tengo esto en el archivo Python, no sucede en otros.
Después de eliminar el número, el archivo vuelve a funcionar normalmente ...
Aquí está el número:
number=("""7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450""")
Ni siquiera es un número realmente, es una cadena.
.txt
. Supongo que algunos patrones de regexp resaltan la sintaxis.synmaxcol
un número limitado (como el ancho de su terminal).Respuestas:
Puedo reproducir esto con el
syntax/python.vim
que viene con Vim 7.4.663.Usando
:syntime
, esto parece ser causado por el siguiente grupo / patrón de sintaxis:Debe informar este problema a su responsable de mantenimiento (su nombre y dirección de correo electrónico se encuentran en el encabezado del script).
Por cierto, originalmente no pude reproducir esto, porque uso una secuencia de comandos de sintaxis alternativa desde aquí . Cambiar a eso (si cumple con sus requisitos), también sería una solución viable.
Editar: Mirando más a fondo la causa probable, esto parece deberse al rendimiento patológico del nuevo motor regexp basado en NFA. Con
:set regexpengine=1
, no veo esa gran desaceleración. Entonces, una posible solución / solución sería cambiar al motor anterior para esa coincidencia de sintaxis; Esto se puede hacer anteponiendo\%#=1
al patrón (cp.:help NFA
).fuente
/usr/share/vim/vim74/syntax
, el desarrollador en la parte superior esNeil Schemenauer <[email protected]>
. Te puedo preguntar; ¿Es por esto que originalmente cambiaste los archivos de sintaxis? Gracias