Могу ли я иметь два вида файла - один не сужен?

13

Я редактирую некоторый файл abc.org и вызываю org-узко-к-блоку, чтобы сузить до блока кода, который я хочу редактировать. Для процесса редактирования я должен получить доступ к другой части abc.org и просто хочу показать ее в другом окне. Поэтому я делаю "Cx 2" и нахожу, что окно показывает abc.org, но также сужается. Возможно ли иметь два "вида" на файл? Один сузился, а другой нет?

Я проверил семь вопросов, помеченных сужением, и не нашел аналогичного вопроса.

Матиас
источник

Ответы:

15

Я думаю, что вы ищете clone-indirect-buffer-other-window( C-x 4 cпо умолчанию).

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

Стюарт Хикинботтом
источник
4

Именно в этом и заключается цель библиотеки Narrow Indirect ( narrow-indirect.el).

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

(define-key ctl-x-4-map "nd" 'ni-narrow-to-defun-other-window)
(define-key ctl-x-4-map "nn" 'ni-narrow-to-region-other-window)
(define-key ctl-x-4-map "np" 'ni-narrow-to-page-other-window)

Он предлагает два способа отличить косвенные буферы от непрямых буферов для создаваемых косвенных буферов:

  • Имя буфера косвенного суженного буфера начинается с префикса, который вы можете установить с помощью опции ni-buf-name-prefix. Значением по умолчанию является I-.

  • Имя косвенного суженного буфера выделяется в строке режима, используя лицо ni-mode-line-buffer-idвместо лица mode-line-buffer-id. (Чтобы отключить это, просто настройте первое так же, как второе.)

Такой косвенный буфер дает вам другое представление о части буфера или даже всего буфера (использование C-x h C-x 4 n n). Он всегда имеет одинаковые свойства текста и текста, но в остальном он довольно независим.

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

Смотрите руководство Emacs, Узловые косвенные буферы .

Нарисовалась
источник
4

Вы пробовали C-x C-c b( org-tree-to-indirect-buffer)? Он создает косвенный (новый) буфер и сужает его до текущего поддерева, оставляя остальную часть документа как есть.

Quarky Quanta
источник
Обратите внимание, что по умолчанию поддерживается только один косвенный буфер. Однако это можно изменить, установив org-indirect-buffer-displayна new-frame.
Кристоф