การยืนยันหลังจาก Cx Cc ก่อนออกจาก Emacs


13

ฉันสามารถกำหนดค่า Emacs เพื่อขอการยืนยันก่อนที่จะออกได้C-x C-cหรือไม่? (บางครั้งนิ้วของฉันก็กดนี่โดยไม่ได้ตั้งใจ)


โปรดดูเพิ่มเติมที่ป้องกันไม่ให้ Emacs ออกเมื่อขั้นตอนการออกได้เริ่มขึ้นแล้วหรือยัง สำหรับคำแนะนำที่เกี่ยวข้องอื่น ๆ
imz - Ivan Zakharyaschev

คำตอบ:


22

ตั้งค่าตัวแปรเพื่อสิ่งที่ต้องการconfirm-kill-emacsyes-or-no-p


2
ขอบคุณ! เป็นเรื่องน่าเสียดายที่ไม่มีการกล่าวถึงในsave-buffers-kill-terminalเอกสารประกอบ ...
imz - Ivan Zakharyaschev

1
มันถูกกล่าวถึงเฉพาะsave-buffers-kill-emacsซึ่งเคยเป็นข้อผูกพันC-x C-cจนถึง 23.1 ที่ควรได้รับการปรับปรุงดูเหมือนว่า
legoscia

1
@ imz - IvanZakharyaschev: ใช่; kill-emacs-query-functionsในทำนองเดียวกัน ดู Emacs ข้อผิดพลาด # (และข้อผิดพลาด # 11181แม้ว่าจะไม่เกี่ยวข้องโดยตรงก็มีความเกี่ยวข้องที่นี่)
Drew

6

ทางเลือกทั่วไปคือการยกเลิกการผูกกุญแจโดยใช้

(global-unset-key (kbd "C-x C-c"))

คุณสามารถออกจากได้ตลอดเวลา M-x save-buffers-kill-terminal


6

ฉันใช้สิ่งนี้ซึ่ง workds ในทุกรุ่น Emacs:

(add-hook 'kill-emacs-query-functions
          (lambda () (y-or-n-p "Do you really want to exit Emacs? "))
          'append)

3
confirm-kill-emacsมันจะดีเพื่ออธิบายวิธีการที่แตกต่างจากการตั้งค่า IIUC ความแตกต่างคือสิ่งนั้นc-k-eจะถูกละเว้นหากมีการแก้ไขบัฟเฟอร์ (ซึ่งขอการยืนยันแล้ว) หรือกระบวนการที่ใช้งานอยู่ (เช่นขอการยืนยัน)
YoungFrog

@ YoungFrog: สิ่งที่คุณพูดนั้นเป็นความจริง แต่สำหรับ Emacs 25 เท่านั้นไม่ใช่ก่อนหน้านี้ และconfirm-kill-emacsไม่มีอยู่ก่อนหน้า Emacs 21
Drew
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.