Якщо ви хочете відкрити весь файл (що вимагає), але показати лише його частину у вікні редактора, використовуйте звуження . Виберіть частину буфера, над яким потрібно працювати, і натисніть 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 тут ).