Emacs Для чтения больших файлов ~ 14 ГБ

Недавно я загрузил emacs в свою систему, чтобы редактировать большие файлы, как он утверждает. При попытке открыть большие файлы emacs дает мне проблему с превышением размера буфера.

Есть ли способ увеличить его?! У меня есть система с памятью 24 ГБ!

Ответ 1

Почему вы хотите редактировать огромные 14Gb файлы? Я считаю, что неправильно делать это.

У вас нет человеческого времени, чтобы прочитать все (или даже большинство) такого огромного файла. Что это за файл? (некоторый файл журнала, некоторый файл дампа MySQL???)

Итак, вы ищете какой-то определенный шаблон внутри этого файла. Сделайте себе одолжение, напишите script (или даже программу) для этого и отредактируйте (если необходимо) ваш большой файл, где это необходимо...

Скорее всего, вам не нравится большая часть содержимого этого огромного файла. Для вас всего несколько строк.

Или разделите файл на более мелкие части (например, с помощью csplit) и отредактируйте соответствующие мелкие куски, затем перестройте огромный файл с помощью cat

Ответ 2

Я никогда не использовал его, но vlf.el - это взлом для просмотра слишком больших файлов. Я считаю, что он использует insert-file-contents, но читает со смещения, чтобы сделать что-то похожее на разбиение на страницы.

Есть несколько заметок wiki, но нет решений, кроме vlf.el, с которыми я связан выше.

Ответ 3

Вы используете 64-разрядную версию emacs? Проверьте файл, вы должны получить что-то вроде этого:

$ file /usr/bin/emacs
/usr/bin/emacs: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped

Ответ 4

Введите M-: (log most-positive-fixnum 2), чтобы узнать, находится ли возвращаемое значение ближе к 64 или 32. Если последнее, скомпилируйте или получите 64-разрядный Emacs. Также смотрите M-x find-file-literally, если большие файлы вызывают медлительность; он должен отключить некоторые трудоемкие операции, такие как font-lock-mode.