Emacs - ฆ่าบัฟเฟอร์โดยไม่ต้องแจ้ง


15

ฉันสงสัยว่ามันสามารถทำได้ดังนั้น Emacs จะไม่ปรากฏพร้อมท์ถามฉันว่าฉันต้องการฆ่าบัฟเฟอร์ปัจจุบันด้วยทางลัดCx kหรือไม่

สิ่งที่น่าสนใจคือการกระทำแบบเดียวกันกับที่ทำผ่านแถบเครื่องมือจะฆ่าบัฟเฟอร์ทันทีโดยไม่ต้องแจ้งผู้ใช้ ทางออกใด ๆ ขอขอบคุณ.

คำตอบ:


16

ตามค่าเริ่มต้น Emacs จะไม่ถามคุณว่าคุณต้องการฆ่าบัฟเฟอร์หรือไม่ มันจะถามคุณว่าบัฟเฟอร์ใดที่คุณต้องการฆ่า

หากคุณไม่ต้องการให้ถามว่าบัฟเฟอร์ใดที่คุณต้องการฆ่าคุณสามารถใช้สิ่งนี้:

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

หากคุณได้รับพร้อมท์ให้ยืนยันมีบางสิ่งใน. emacs ของคุณ (หรือการกำหนดค่าเริ่มต้นสำหรับไซต์เฉพาะ) ลองเรียกใช้emacs -qเพื่อตรวจสอบ Emacs ด้วย. emacs ของคุณ

หมายเหตุ:ยืนยันด้วย Emacs 23.2


2
'kill-this-buffer นี้เป็นส่วนหนึ่งของ emacs และควรใช้แทน
Jaseem

10

คุณสามารถค้นหาสิ่งที่รายการเมนูทำด้วยC-h kแล้วคลิกที่รายการ มันจะออกมาเป็นคำสั่งที่ชื่อฆ่านี้บัฟเฟอร์

จากนั้นคุณสามารถผูกคำสั่งนั้นเพื่อรวมคีย์:

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

2

ฉันใช้สิ่งนี้

(global-set-key (kbd "C-x k") (lambda ()
                              (interactive)
                              (kill-buffer (buffer-name))))

การปรับปรุงเล็กน้อย: (kill-buffer (current-buffer))
Jaseem

ตั้งแต่ค. Emacs 24.3 คุณทำได้ (ชุดคีย์ระดับโลก "\ C-xk" 'kill-this-buffer)
HörmannHH

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.