Comment puis-je obtenir un avertissement avant de tuer un tampon temporaire dans Emacs?

StackOverflow https://stackoverflow.com/questions/86963

  •  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?

Était-ce utile?

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
scroll top