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.