підтвердження після Cx Cc перед виходом із Emacs


13

Чи можу я налаштувати Emacs на запит підтвердження перед виходом із програми C-x C-c? (Іноді мої пальці натискають це помилково.)


Див. Також Заборонити Emacs виходити після запуску процедури виходу? для деяких інших пов'язаних пропозицій.
imz - Іван Захарящев

Відповіді:


22

Встановіть змінну confirm-kill-emacsна щось подібне yes-or-no-p.


2
Спасибі! Шкода, що це не згадується в save-buffers-kill-terminalдокументації ...
imz - Іван Захарящев

1
Він згадується лише для save-buffers-kill-emacs, який був обов'язковим C-x C-cдо 23.1. Це, мабуть, слід оновити.
legoscia

1
@ imz - ІванЗахарящев: Так; аналогічно kill-emacs-query-functions. Див. Помилку Emacs # 10794 . (І помилка №11181 , хоч і безпосередньо не пов’язана, тут також є актуальною.)
Дрю,

6

Поширеною альтернативою є від’єднання ключа за допомогою

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

Ви завжди можете вийти через M-x save-buffers-kill-terminal


6

Я використовую це, що працює у всіх версіях 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.
Дрю
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.