Чи можу я мати два погляди на файл - один звужений, а ні?


13

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


Зауважте, що за замовчуванням у будь-який час підтримується лише один непрямий буфер. Однак це можна змінити, встановивши org-indirect-buffer-displayна new-frame.
Крістоф
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.