Buat Buffer List jadi fokus?


11

Bagaimana saya bisa membuatnya sehingga ketika saya menekan C-xC-buntuk mengakses Daftar Buffer, buffer itu secara otomatis mengambil fokus alih-alih harus beralih secara manual C-xo? Saya tidak dapat menemukan variabel yang mengkustomisasi ini.


2
Ini murni editorial, tetapi saya tidak pernah mengerti bagaimana membuat daftar yang tidak fokus seharusnya berguna. Jadi ya, pertanyaan yang bagus.
— Avdi

Jawaban:


9

Anda dapat mengganti perintah list-buffersyang dijalankan dengan C-x C-bfungsi yang melakukan apa yang Anda inginkan. Dalam hal ini, buffer-menu-other-windowbuka daftar buffer di jendela lain dengan fokus. Menambahkan potongan berikut ke file init Anda harus memetakan kembali C-x C-bke fungsi baru.

 (define-key global-map [remap list-buffers] 'buffer-menu-other-window)

Di sini global-mapmewakili keymap di mana C-x C-bterikat ke perintah, list-buffersperintah asli dan buffer-menu-other-windowperintah baru.


4
Atau buffer-menu, jika Anda tidak ingin menggunakan jendela lain.
— Drew

Kudos untuk menggunakan remapping atas global-set-key.

@metaturso Anda dapat remap dengan global-set-keyjuga: (global-set-key [remap list-buffers] #'buffer-menu-other-window). global-set-keyhanyalah pembungkus tipis di sekitar define-key.
— Basil

7

Alternatifnya adalah beralih ke ibuffer, yang tidak berbagi masalah ini.

ibuffer adalah bagian dari GNU Emacs, jadi pada versi terbaru dari Emacs Anda hanya perlu menambahkan

(global-set-key (kbd "C-x C-b") 'ibuffer)

ke file init Anda.


1
Ini adalah apa yang saya lakukan juga, tetapi kata-kata dari jawaban Anda membuatnya sepertinya lebih dari sekadar masalah preferensi.
— nispio

Tentu saja.
— Dave
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.