2

Для некоторых задач я предпочитаю отдельные большие файлы, а не разбивать проект (например, отчет LaTeX, скрипт Python среднего размера) на отдельные меньшие файлы, например, для упрощения поиска и поиска и замены. Однако для редактирования часто предпочтительнее иметь отдельные представления разных частей проекта, предпочитая несколько небольших файлов.

Является ли какой-то режим / пакет для emacs, который позволяет редактировать части файлов, как если бы они были отдельным файлом, сохраняя синхронизацию буфера со всеми другими представлениями файла? Я знаю о clone-indirect-buffer , но пока он достигает части цели, я бы предпочел метод, который ограничивает косвенный буфер определенным разделом файла. Подумайте, например, об орг-режимах C-c ' но реализованных с косвенным буфером. В идеале реализация должна поддерживать некоторый синтаксис для определения разделов.

Я думаю, что редактор LEO основан на концепции, которую я хочу для emacs, хотя я никогда не пробовал (не работал в моей системе).

1 ответ1

1

Одна библиотека, которая обеспечивает такое поведение, является Narrow Indirect (narrow-indirect.el). Это дает вам другое представление о части буфера или даже всего буфера (используйте C-x h C-x 4 n n).

Он всегда имеет одинаковые свойства текста и текста, но в остальном он довольно независим. В частности, вы можете уничтожить косвенный буфер, не затрагивая его базовый буфер. Вы, вероятно, захотите убить косвенные суженные буферы, а не расширять их.

Вы можете использовать косвенные буферы больше, чем вы думаете. Вы можете использовать клоны, взятые из частей буферов Dired, например, чтобы дать вам полезные (активные) представления в списке каталогов. Есть только несколько клавиш / команд (например, g для обновления списка), которые не работают, потому что они зависят от представления всего буфера Dired. Поэкспериментируйте, и вы, несомненно, найдете интересные новые применения для косвенных буферов.

Смотрите также руководство Emacs, Узловые Indirect Buffers.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .