Saya ingin melihat bagian buffer yang berbeda dalam dua frame yang berbeda, karena saya memiliki dua monitor dengan bentuk yang berbeda sehingga saya tidak dapat dengan mudah menjangkau satu frame. Beberapa googling membuat saya menggunakan clone-indirect-buffer
, yang berfungsi dengan baik.
Namun, buffer-file-name
untuk buffer baru tersebut nil
. Bagaimana saya bisa dengan andal menentukan nama file buffer asli (yang ini adalah tiruan dari)?
buffers
files
indirect-buffers
jalur jalan
sumber
sumber
C-x b
fokus kemudian beralih ke bingkai sudah menunjukkan buffer.Jawaban:
Saya menyimpan manual Emacs dan manual Elisp pada panggilan cepat untuk pertanyaan seperti ini.
Dari manual Elisp tentang buffer tidak langsung :
Anda mungkin ingin
(buffer-file-name (buffer-base-buffer))
atau sesuatu seperti itu.sumber
defadvice
opsi saya . ;)Ini adalah jawaban tidak langsung untuk pertanyaan Anda - Saya tidak yakin bagaimana mencari tahu apa nama buffer asli tanpa melakukan hal berikut. (EDIT: Jawaban @ purple_arrows mengisi rincian: Anda dapat menggunakan
buffer-base-buffer
. Terima jawaban itu sebagai yang paling benar.)Saran berikut akan mengaitkan nama file buffer asli dengan masing-masing klon tidak langsungnya:
Sekarang, masing-masing klon memiliki nama file yang sama dengan buffer asli.
Saya sering menggunakan buffer yang dikloning secara tidak langsung, dan ingin dapat, misalnya, menyimpan file yang terkait ketika saya bekerja dengan salah satu buffer, daripada yang asli. Saran ini adalah solusi saya untuk alur kerja yang diinginkan.
sumber