Як переглядати та редагувати великі файли значень, розділених роздільником?


14

Я використовую csv-modeдля зміни невеликих та середніх файлів CSV, але останнім часом я працюю з великими файлами, що містять понад 40 812 записів. csv-modeбореться за вирівнювання та навігацію по таблицях, і занадто повільна, щоб бути зручною для використання. Для порівняння, LibreOffice Calc може прошивати файл.

Чи є простий спосіб скласти csv-modeобробку великих таблиць, чи є кращий підхід?

Мені відомо пов'язане питання щодо переповнення стека . Її рішення полягало лише в вирівнюванні частини буфера у видимому вікні, але це не вирішило млявості в моєму випадку.

Ось файл прикладу. Я намагався зробити його великим, але не настільки великим, що заморозить Emacs на старих комп'ютерах.


3
Редагування таблиць не є одним із сучасних сильних сторін Emacs. Я б хотів, щоб це було. Я вважаю за краще ніколи не використовувати спеціалізовану таблицю.
wdkrnls

2
Це не короткострокова відповідь, але ви, можливо, захочете M-x report-emacs-bugпро це, в ідеалі з рецептом відтворення уповільнення. Напевно, є багато можливостей для вдосконалення csv-mode.
Стефан

3
Чи є у вас зразок файлу, який демонструє проблему?
Вілфред Х'юз

Так, так. Додано до питання.
holocronweaver

Відповіді:


12

З csv-modeя можу побачити деякі відставання у вашому файлі, але лише з увімкненим підсвічуванням синтаксису. Після відключення fontification з M-x font-lock-modeним працює без проблем.

Щоб назавжди відключити його для csv-modeдодавання у ваш конфігурацію:

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

Або якщо ви користувач пакетом використання :

(use-package csv-mode
  :mode ("\\.csv\\'" . csv-mode)
  :init (add-hook 'csv-mode-hook (lambda () (font-lock-mode -1)))
  :ensure t)

2
Після відключення font-lock-mode, company-modeі кілька інших режимів незначних, ця величина значно покращилися! Я вважаю це головним успіхом.
holocronweaver

5
Я б навіть розглядав можливість обгортати це, щоб застосувати лише великі файли:(when (> (point-max) some-large-number) (font-lock-mode -1))
Шон Алредред
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.