Bagaimana cara melihat dan mengedit file nilai pembatas besar yang dipisahkan?


14

Saya telah menggunakan csv-modeuntuk memodifikasi file CSV kecil hingga menengah, tetapi baru-baru ini saya telah bekerja dengan file besar yang berisi lebih dari 40.812 entri. csv-modeberjuang untuk menyelaraskan dan menavigasi tabel, dan terlalu lambat untuk dapat digunakan sebagaimana adanya. Sebagai perbandingan, LibreOffice Calc dapat zip melalui file.

Apakah ada cara sederhana untuk membuat csv-modepegangan meja besar, atau apakah ada pendekatan yang lebih baik tersedia?

Saya mengetahui pertanyaan Stack Overflow terkait . Solusinya adalah hanya menyelaraskan bagian buffer di jendela yang terlihat, tetapi ini tidak menyelesaikan kelesuan dalam kasus saya.

Berikut ini contoh file. Saya mencoba membuatnya besar, tetapi tidak terlalu besar itu akan membekukan Emacs pada komputer lama.


3
Pengeditan tabel bukan salah satu kekuatan Emacs saat ini. Saya berharap begitu. Saya lebih suka tidak perlu menggunakan spreadsheet khusus.
wdkrnls

2
Bukan jawaban jangka pendek, tetapi Anda mungkin ingin M-x report-emacs-bugmengatasinya, idealnya dengan resep untuk mereproduksi pelambatan. Mungkin ada banyak ruang untuk perbaikan csv-mode.
Stefan

3
Apakah Anda memiliki file sampel yang menunjukkan masalah?
Wilfred Hughes

Ya, ya saya lakukan. Ditambahkan ke pertanyaan.
holocronweaver

Jawaban:


12

Dengan csv-modesaya dapat melihat beberapa kelambatan dengan file Anda, tetapi hanya dengan penyorotan sintaks diaktifkan. Setelah menonaktifkan fontifikasi dengan M-x font-lock-modeitu berfungsi tanpa masalah.

Untuk menonaktifkannya secara permanen untuk csv-modeditambahkan ke konfigurasi Anda:

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

Atau jika Anda adalah pengguna paket-pakai :

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

2
Setelah menonaktifkan font-lock-mode,, company-modedan beberapa mode kecil lainnya, kecepatan meningkat pesat! Saya menganggap ini sukses besar.
holocronweaver

5
Saya bahkan akan mempertimbangkan membungkus ini hanya berlaku untuk file besar:(when (> (point-max) some-large-number) (font-lock-mode -1))
Sean Allred
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.