Posso ter duas visualizações em um arquivo - uma reduzida não?

13

Estou editando algum arquivo, abc.org, e chamo org-narrow-to-block para restringir a um bloco de código que quero editar. Para o processo de edição, tenho que acessar outra parte do abc.org e só quero mostrá-lo em outra janela. Então, eu faço "Cx 2" e acho que a janela mostra o abc.org, mas também diminuiu. É possível ter duas "visualizações" no arquivo? Um estreitou e um não?

Eu verifiquei as sete perguntas marcadas com restrição e não encontrei uma pergunta semelhante.

Matthias
fonte

Respostas:

15

Eu acho que você está procurando clone-indirect-buffer-other-window(vinculado C-x 4 cpor padrão).

Observe que isso cria um clone vinculado do buffer, portanto, você deve se lembrar de matar o buffer clonado e a janela para evitar acumular mais e mais buffers com o mesmo conteúdo.

Stuart Hickinbottom
fonte
4

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-idvez 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 .

Desenhou
fonte
4

Você já tentou C-x C-c b( org-tree-to-indirect-buffer)? Ele cria um buffer indireto (novo) e o restringe à subárvore atual, deixando o restante do documento como está.

Quarky Quanta
fonte
Observe que, por padrão, apenas um buffer indireto é mantido a qualquer momento. No entanto, isso pode ser alterado configurando org-indirect-buffer-displaypara new-frame.
Christoph