Esse é precisamente o objetivo da biblioteca Narrow Indirect ( narrow-indirect.el
).
Ele fornece comandos de restrição que criam um buffer indireto que é um clone do buffer atual e que é restrito a uma parte específica dele. Você pode restringir ao desfunçamento atual, região ativa ou página atual. Ligações de teclas sugeridas:
(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)
Ele oferece duas maneiras de distinguir buffers indiretos de buffers não indiretos, para os buffers indiretos criados:
O nome tampão de um tampão estreitou indireta começa com um prefixo que você pode definir usando a opção ni-buf-name-prefix
. O valor padrão é I-
.
O nome de um buffer estreito indireto é destacado na linha de modo usando face em ni-mode-line-buffer-id
vez de face mode-line-buffer-id
. (Para desativar isso, basta personalizar o primeiro para ser o mesmo que o último.)
Esse buffer indireto fornece uma visão diferente de uma parte do buffer ou mesmo de todo o buffer (uso C-x h C-x 4 n n
). Ele sempre tem as mesmas propriedades de texto e texto, mas, caso contrário, é bastante independente.
Em particular, você pode matar um buffer indireto sem afetar seu buffer base. Você provavelmente desejará matar buffers indiretos limitados em vez de ampliá-los.
Consulte o manual do Emacs, nó Buffers Indiretos .
org-indirect-buffer-display
paranew-frame
.