Jak przeglądać i edytować pliki wartości rozdzielane dużymi separatorami?


14

I zostały z wykorzystaniem csv-modemodyfikacji małych i średnich plików CSV, ale ostatnio pracuję z dużych plików zawierających ponad 40,812 wpisów. csv-modestara się wyrównać tabele i poruszać się po nich, i jest zbyt wolny, aby można go było używać w obecnym stanie. Dla porównania LibreOffice Calc może spakować plik.

Czy istnieje prosty sposób na radzenie csv-modesobie z dużymi stołami, czy jest dostępne lepsze podejście?

Mam świadomość powiązanego pytania dotyczącego przepełnienia stosu . Jego rozwiązaniem było wyrównanie tylko części bufora w widocznym oknie, ale w moim przypadku nie rozwiązało to problemu z ospałością.

Oto przykładowy plik. Starałem się, aby był duży, ale nie tak duży, aby zamroził Emacsa na starszych komputerach.


3
Edycja tabeli nie jest jedną z obecnych zalet Emacsa. Chciałbym, żeby tak było. Wolałbym nigdy nie używać dedykowanego arkusza kalkulacyjnego.
wdkrnls

2
Nie jest to odpowiedź krótkoterminowa, ale możesz chcieć M-x report-emacs-bugo tym poradzić, najlepiej z przepisem na odtworzenie spowolnienia. Prawdopodobnie jest wiele miejsca na ulepszenia csv-mode.
Stefan

3
Czy masz przykładowy plik, który demonstruje problem?
Wilfred Hughes

Tak, tak. Dodano do pytania.
holocronweaver

Odpowiedzi:


12

Z csv-modeWidzę pewne opóźnienia w twoim pliku, ale tylko z włączonym podświetlaniem składni. Po wyłączeniu czcionkowania z M-x font-lock-modenim działa bez problemów.

Aby wyłączyć to na stałe w celu csv-modedodania do konfiguracji:

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

Lub jeśli jesteś użytkownikiem pakietu use :

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

2
Po wyłączeniu font-lock-mode, company-modei kilka innych trybów drobne, prędkość znacznie się poprawiła! Uważam to za duży sukces.
holocronweaver

5
Rozważałbym nawet zawinięcie tego, by dotyczyło tylko dużych plików:(when (> (point-max) some-large-number) (font-lock-mode -1))
Sean Allred
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.