ฉันสงสัยว่ามันสามารถทำได้ดังนั้น Emacs จะไม่ปรากฏพร้อมท์ถามฉันว่าฉันต้องการฆ่าบัฟเฟอร์ปัจจุบันด้วยทางลัดCx kหรือไม่
สิ่งที่น่าสนใจคือการกระทำแบบเดียวกันกับที่ทำผ่านแถบเครื่องมือจะฆ่าบัฟเฟอร์ทันทีโดยไม่ต้องแจ้งผู้ใช้ ทางออกใด ๆ ขอขอบคุณ.
ฉันสงสัยว่ามันสามารถทำได้ดังนั้น Emacs จะไม่ปรากฏพร้อมท์ถามฉันว่าฉันต้องการฆ่าบัฟเฟอร์ปัจจุบันด้วยทางลัดCx kหรือไม่
สิ่งที่น่าสนใจคือการกระทำแบบเดียวกันกับที่ทำผ่านแถบเครื่องมือจะฆ่าบัฟเฟอร์ทันทีโดยไม่ต้องแจ้งผู้ใช้ ทางออกใด ๆ ขอขอบคุณ.
คำตอบ:
ตามค่าเริ่มต้น Emacs จะไม่ถามคุณว่าคุณต้องการฆ่าบัฟเฟอร์หรือไม่ มันจะถามคุณว่าบัฟเฟอร์ใดที่คุณต้องการฆ่า
หากคุณไม่ต้องการให้ถามว่าบัฟเฟอร์ใดที่คุณต้องการฆ่าคุณสามารถใช้สิ่งนี้:
(global-set-key (kbd "C-x k") 'kill-this-buffer)
หากคุณได้รับพร้อมท์ให้ยืนยันมีบางสิ่งใน. emacs ของคุณ (หรือการกำหนดค่าเริ่มต้นสำหรับไซต์เฉพาะ) ลองเรียกใช้emacs -q
เพื่อตรวจสอบ Emacs ด้วย. emacs ของคุณ
หมายเหตุ:ยืนยันด้วย Emacs 23.2
คุณสามารถค้นหาสิ่งที่รายการเมนูทำด้วยC-h kแล้วคลิกที่รายการ มันจะออกมาเป็นคำสั่งที่ชื่อฆ่านี้บัฟเฟอร์
จากนั้นคุณสามารถผูกคำสั่งนั้นเพื่อรวมคีย์:
(global-set-key "\C-xk" 'kill-this-buffer)
ตอบที่นี่: /programming/6467002/how-to-kill-buffer-in-emacs-without-answering-confirmation ยืนยัน
(defun volatile-kill-buffer ()
"Kill current buffer unconditionally."
(interactive)
(let ((buffer-modified-p nil))
(kill-buffer (current-buffer))))
(global-set-key (kbd "C-x k") 'volatile-kill-buffer) ;; Unconditionally kill unmodified buffers.