potwierdzenie po Cx Cc przed wyjściem z Emacsa

Odpowiedzi:

22

Ustaw zmienną confirm-kill-emacsna coś podobnego yes-or-no-p.

legoscia
źródło
2
Dzięki! Szkoda, że ​​nie wspomniano o tym w save-buffers-kill-terminaldokumentacji ...
imz - Ivan Zakharyaschev
1
Wspomniano tylko o nim save-buffers-kill-emacs, który był wiążący C-x C-cdo 23.1. Wydaje się, że należy to zaktualizować.
legoscia
1
@ imz - IvanZakharyaschev: Tak; podobnie kill-emacs-query-functions. Zobacz błąd Emacsa # 10794 . (A błąd # 11181 , chociaż nie jest bezpośrednio powiązany, ma również znaczenie tutaj.)
Drew
6

Częstą alternatywą jest rozpięcie klucza za pomocą

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

Zawsze możesz zrezygnować za pośrednictwem M-x save-buffers-kill-terminal

nperson325681
źródło
6

Używam tego, który działa we wszystkich wersjach Emacsa:

(add-hook 'kill-emacs-query-functions
          (lambda () (y-or-n-p "Do you really want to exit Emacs? "))
          'append)
Rysował
źródło
3
Miło byłoby wyjaśnić, czym różni się to od ustawienia confirm-kill-emacs. IIUC, różnica polega na tym, że c-k-eignoruje się, jeśli istnieją zmodyfikowane bufory (które już proszą o potwierdzenie) lub aktywne procesy (również pytają o potwierdzenie).
YoungFrog,
@YoungFrog: To, co mówisz, jest prawdą, ale tylko w przypadku Emacsa 25, nie wcześniej. I confirm-kill-emacsnie istnieje przed Emacsem 21.
Drew