Comment puis-je obtenir un avertissement avant de tuer un tampon temporaire dans Emacs?
-
01-07-2019 - |
Question
Plus d’une fois, j’ai perdu du travail en tuant accidentellement un tampon temporaire à Emacs. Puis-je configurer Emacs pour qu'il me prévienne lorsque je tue un tampon non associé à un fichier?
La solution
Créez une fonction qui vous demandera si vous êtes sûr que le tampon a été édité et qu’il n’est pas associé à un fichier. Ajoutez ensuite cette fonction à la liste kill-buffer-query-functions
.
Consultation de la documentation sur Fichier tampon Nom que vous comprenez:
- un tampon ne visite pas un fichier si et seulement si la variable
nom-fichier-tampon
est nulle
Utilisez cet aperçu pour écrire la fonction:
(defun maybe-kill-buffer ()
(if (and (not buffer-file-name)
(buffer-modified-p))
;; buffer is not visiting a file
(y-or-n-p "This buffer is not visiting a file but has been edited. Kill it anyway? ")
t))
Et ajoutez ensuite la fonction au crochet comme suit:
(add-to-list 'kill-buffer-query-functions 'maybe-kill-buffer)
Autres conseils
(defun maybe-kill-buffer ()
(if (and (not buffer-file-name)
(buffer-modified-p))
;; buffer is not visiting a file
(y-or-n-p (format "Buffer %s has been edited. Kill it anyway? "
(buffer-name)))
t))
(add-to-list 'kill-buffer-query-functions 'maybe-kill-buffer)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow