Czy mogę mieć dwa widoki pliku - jeden nie jest zawężony?

13

Edytuję jakiś plik, abc.org i wywołuję org-narrow-to-block, aby zawęzić do bloku kodu, który chcę edytować. W celu edycji muszę uzyskać dostęp do innej części abc.org i chcę ją pokazać w innym oknie. Więc robię „Cx 2” i stwierdzam, że okno pokazuje abc.org, ale również się zawęziło. Czy możliwe jest posiadanie dwóch „widoków” w pliku? Jeden zwężony, a drugi nie?

Sprawdziłem siedem pytań oznaczonych zawężeniem i nie znalazłem podobnego pytania.

Matthias
źródło

Odpowiedzi:

15

Myślę, że szukasz clone-indirect-buffer-other-window( C-x 4 cdomyślnie ograniczone).

Zauważ, że tworzy to połączony klon bufora, więc musisz pamiętać o zabiciu sklonowanego bufora oraz okna, aby uniknąć gromadzenia coraz większej liczby buforów o tej samej zawartości.

Stuart Hickinbottom
źródło
4

To właśnie jest celem biblioteki Narrow Indirect ( narrow-indirect.el).

Daje ci polecenia zawężające, które tworzą bufor pośredni, który jest klonem bieżącego bufora i który jest zawężony do określonej jego części. Możesz zawęzić do aktualnego wyrzucania, aktywnego regionu lub bieżącej strony. Sugerowane powiązania klawiszy:

(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)

Oferuje dwa sposoby odróżnienia buforów pośrednich od buforów niebezpośrednich, dla buforów pośrednich, które tworzy:

  • Nazwa bufora pośrednio zawężonego bufora zaczyna się od przedrostka, który można ustawić za pomocą opcji ni-buf-name-prefix. Wartość domyślna to I-.

  • Nazwa pośrednio zawężonego bufora jest podświetlona w linii trybu za pomocą twarzy ni-mode-line-buffer-idzamiast twarzy mode-line-buffer-id. (Aby to wyłączyć, po prostu dostosuj ten pierwszy, aby był taki sam jak drugi).

Taki bufor pośredni daje inny widok części bufora, a nawet całego bufora (użycie C-x h C-x 4 n n). Zawsze ma te same właściwości tekstowe i tekstowe, ale poza tym jest dość niezależny.

W szczególności możesz zabić bufor pośredni bez wpływu na bufor podstawowy. Prawdopodobnie będziesz chciał zabijać pośrednio zawężone bufory zamiast je poszerzać.

Zobacz instrukcję Emacsa, węzeł Bufory pośrednie .

Rysował
źródło
4

Próbowałeś C-x C-c b( org-tree-to-indirect-buffer)? Tworzy bufor pośredni (nowy) i zawęża go do bieżącego poddrzewa, pozostawiając resztę dokumentu bez zmian.

Quarky Quanta
źródło
Należy pamiętać, że domyślnie w danym momencie jest utrzymywany tylko jeden bufor pośredni. Można to jednak zmienić, ustawiając org-indirect-buffer-displayna new-frame.
Christoph