Emacs - bunuh buffer tanpa diminta

15

Saya bertanya-tanya bagaimana hal itu dapat dilakukan, jadi Emacs tidak muncul prompt menanyakan apakah saya benar-benar ingin membunuh buffer saat ini dengan pintasan Cx k .

Hal yang menarik adalah bahwa tindakan yang sama dilakukan melalui bilah alat membunuh buffer secara instan tanpa meminta pengguna. Ada solusi? Terima kasih.

Jarek
sumber

Jawaban:

16

Secara default, Emacs tidak menanyakan apakah Anda ingin membunuh buffer. Ia menanyakan buffer mana yang ingin Anda bunuh.

Jika Anda tidak ingin ditanyai buffer mana yang ingin Anda bunuh, Anda dapat menggunakan ini:

(global-set-key (kbd "C-x k") 'kill-this-buffer)

Jika Anda dimintai konfirmasi, maka ada sesuatu di .emacs Anda (atau inisialisasi spesifik situs). Coba jalankan emacs -quntuk memeriksa Emacs tanpa .emacs Anda.

Catatan: Diverifikasi dengan Emacs 23.2.

Trey Jackson
sumber
2
'kill-this-buffer adalah bagian dari emacs dan yang seharusnya digunakan.
Jaseem
10

Anda dapat mengetahui apa yang dilakukan entri menu C-h kdan kemudian mengklik entri tersebut. Ternyata menjadi perintah bernama kill-this-buffer .

Kemudian Anda dapat mengikat perintah itu ke kombinasi tombol:

(global-set-key "\C-xk" 'kill-this-buffer)
nschum
sumber
2

Saya menggunakan ini

(global-set-key (kbd "C-x k") (lambda ()
                              (interactive)
                              (kill-buffer (buffer-name))))
kindahero
sumber
Perbaikan kecil: (kill-buffer (current-buffer))
Jaseem
Sejak c. Emacs 24.3 Anda bisa (global-set-key "\ C-xk" 'kill-this-buffer)
HörmannHH