Bisakah saya memiliki dua tampilan pada file - satu menyempit tidak?

13

Saya mengedit beberapa file, abc.org, dan memanggil org-narrow-to-block untuk mempersempit ke blok kode yang ingin saya edit. Untuk proses pengeditan saya harus mengakses bagian lain dari abc.org dan hanya ingin memperlihatkannya di jendela lain. Jadi saya melakukan "Cx 2" dan menemukan bahwa jendela menunjukkan abc.org, tetapi juga menyempit. Apakah mungkin memiliki dua "tampilan" pada file? Satu menyempit dan satu tidak?

Saya telah memeriksa tujuh pertanyaan yang ditandai dengan penyempitan dan tidak menemukan pertanyaan serupa.

Matthias
sumber

Jawaban:

15

Saya pikir Anda sedang mencari clone-indirect-buffer-other-window(terikat C-x 4 csecara default).

Perhatikan bahwa ini membuat klon buffer yang terhubung sehingga Anda harus ingat untuk membunuh buffer kloning serta jendela untuk menghindari akumulasi buffer yang semakin banyak dengan konten yang sama.

Stuart Hickinbottom
sumber
4

Itulah tujuan perpustakaan Narrow Indirect ( narrow-indirect.el).

Ini memberi Anda perintah penyempitan yang membuat buffer tidak langsung yang merupakan klon dari buffer saat ini dan yang dipersempit ke bagian tertentu dari itu. Anda dapat mempersempit ke defun, wilayah aktif, atau halaman saat ini. Bindings kunci yang disarankan:

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

Ia menawarkan dua cara untuk membedakan buffer tidak langsung dari buffer non-tidak langsung, untuk buffer tidak langsung yang dibuatnya:

  • Nama buffer dari buffer yang dipersempit tidak langsung dimulai dengan awalan yang bisa Anda atur menggunakan opsi ni-buf-name-prefix. Nilai standarnya adalah I-.

  • Nama buffer penyempitan tidak langsung disorot dalam garis mode menggunakan wajah, ni-mode-line-buffer-idbukan wajah mode-line-buffer-id. (Untuk mematikan ini, sesuaikan yang pertama sama dengan yang terakhir.)

Buffer tidak langsung semacam itu memberi Anda pandangan yang berbeda dari bagian buffer, atau bahkan seluruh buffer (penggunaan C-x h C-x 4 n n). Itu selalu memiliki teks dan properti teks yang sama, tetapi selain itu cukup independen.

Secara khusus, Anda dapat membunuh buffer tidak langsung tanpa mempengaruhi buffer basisnya. Anda mungkin ingin membunuh buffer menyempit tidak langsung daripada melebarkannya.

Lihat manual Emacs, simpul Buffer Tidak Langsung .

Drew
sumber
4

Sudahkah Anda mencoba C-x C-c b( org-tree-to-indirect-buffer)? Ini menciptakan buffer (baru) tidak langsung dan mempersempitnya ke subtree saat ini, meninggalkan sisa dokumen apa adanya.

Quarky Quanta
sumber
Perhatikan bahwa secara default hanya satu buffer tidak langsung yang dipertahankan setiap saat. Namun ini dapat diubah dengan mengatur org-indirect-buffer-displayke new-frame.
Christoph