Если вы хотите открыть весь файл (что требуется), но показать только его часть в окне редактора, используйте сужение . Выберите часть буфера, с которой вы хотите работать, и нажмите C-x n n( narrow-to-region). Скажите «да», если вы получите запрос об отключенной команде. Нажмите C-x n w( widen), чтобы снова увидеть весь буфер. Если вы сохраните буфер, будет выбран весь файл: все данные все еще там, сужение только ограничивает то, что вы видите.
Если вы хотите просмотреть часть файла, вы можете вставить его в текущий буфер shell-commandс помощью префиксного аргумента ( M-1 M-!); выполните соответствующую команду, чтобы извлечь нужные строки , например <huge.txt tail -n +57890001 | head -n 11.
Существует также функция Lisp, insert-file-contentsкоторая может принимать диапазон байтов. Вы можете вызвать его с помощью M-:( eval-expression):
(insert-file-contents "huge.txt" nil 456789000 456791000)
Обратите внимание, что вы можете столкнуться с пределом целочисленного размера (зависит от версии и платформы, проверьте значение most-positive-fixnum).
Теоретически было бы возможно написать режим Emacs, который загружает и сохраняет части файлов прозрачно по мере необходимости (хотя ограничение на целочисленные размеры сделает невозможным использование фактических смещений файлов на 32-битных машинах). Единственное усилие в этом направлении, о котором я знаю, это VLF (ссылка на GitHub здесь ).