¿Cómo ver y editar archivos de valores separados por delimitadores grandes?

14

He estado usando csv-modepara modificar archivos CSV de tamaño pequeño a mediano, pero recientemente he estado trabajando con archivos grandes que contienen más de 40,812 entradas. csv-modelucha por alinearse y navegar por las tablas, y es demasiado lento para ser utilizable tal como está. En comparación, LibreOffice Calc puede atravesar el archivo.

¿Hay una manera simple de csv-modemanejar tablas grandes o hay un mejor enfoque disponible?

Soy consciente de una pregunta relacionada con el desbordamiento de pila . Su solución fue alinear solo la porción de búfer en la ventana visible, pero esto no resolvió la lentitud en mi caso.

Aquí hay un archivo de ejemplo. Traté de hacerlo grande, pero no tan grande que congele Emacs en computadoras más antiguas.

Tejedor de holocrón
fuente
3
La edición de tablas no es una de las fortalezas actuales de Emacs. Ojalá lo fuera. Prefiero nunca tener que usar una hoja de cálculo dedicada.
wdkrnls
2
No es una respuesta a corto plazo, pero es posible que desee M-x report-emacs-bugconocerla, idealmente con una receta para reproducir la desaceleración. Probablemente haya mucho margen de mejora en csv-mode.
Stefan
3
¿Tiene un archivo de muestra que demuestra el problema?
Wilfred Hughes
Sí Sí lo hago. Agregado a la pregunta.
holocronweaver

Respuestas:

12

Con csv-modepuedo ver algunos retrasos con su archivo, pero solo con el resaltado de sintaxis habilitado. Después de deshabilitar la fuente M-x font-lock-mode, funciona sin problemas.

Para deshabilitarlo permanentemente para csv-modeagregarlo a su configuración:

(add-hook 'csv-mode-hook (lambda () (font-lock-mode -1))

O si eres un usuario de paquete de uso:

(use-package csv-mode
  :mode ("\\.csv\\'" . csv-mode)
  :init (add-hook 'csv-mode-hook (lambda () (font-lock-mode -1)))
  :ensure t)
kmicu
fuente
2
Después de deshabilitar font-lock-mode, company-modey un par de modos menores, ¡la velocidad mejoró considerablemente! Considero que esto es un gran éxito.
holocronweaver
55
Incluso consideraría ajustar esto para que solo se aplique a archivos grandes:(when (> (point-max) some-large-number) (font-lock-mode -1))
Sean Allred el