Mehr als einmal habe ich Arbeit verloren, indem ich versehentlich einen temporären Puffer in Emacs getötet habe. Kann ich Emacs so einrichten, dass ich eine Warnung bekomme, wenn ich einen nicht mit einer Datei verknüpften Puffer lösche?Wie erhalte ich vor dem Löschen eines temporären Puffers in Emacs eine Warnung?
8
A
Antwort
10
Erstellen Sie eine Funktion, die Sie fragt, ob Sie sicher sind, dass der Puffer bearbeitet wurde und nicht mit einer Datei verknüpft ist. Fügen Sie diese Funktion dann zur Liste kill-buffer-query-functions
hinzu.
bei der Dokumentation der Suche nach Buffer File Name Sie verstehen:
- ein Puffer nicht eine Datei zu besuchen, wenn und nur wenn die Variable
buffer-file-name
ist gleich Null
diese Einsicht Verwenden Sie die Funktion schreiben:
(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))
Und dann fügen Sie die Funktion zum Haken wie folgt:
(add-to-list 'kill-buffer-query-functions 'maybe-kill-buffer)
1
(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)
Verwandte Themen
- 1. Öffnen eines temporären Puffers/Scratchpads in Netbeans?
- 2. In Emacs, wie eine Regexp am Ende des Puffers zutreffen
- 3. Trigger für vor dem Löschen eines Datensatzes
- 4. Wie erhalte ich TextMate-Anführungszeichen in Emacs?
- 5. Warum erhalte ich eine Warnung "kartesisches Produkt"?
- 6. Wie erhalte ich einen schnellen Status vom Emacs Compilation Buffer?
- 7. Sollte ich vor dem Löschen prüfen, ob eine Zeile existiert?
- 8. Löschen einer temporären Datei nach dem Laden in JVM
- 9. Wie Hudson Arbeitsbereich vor dem Build löschen?
- 10. Vor dem Löschen Trigger-Syntaxfehler
- 11. Überprüfen von Regelverstößen vor dem Löschen eines Datensatzes
- 12. Erstellen eines neuen Puffers mit Text unter Verwendung von EmacsClient
- 13. In Emacs, wie wird automatisch ein Nebenmodus basierend auf dem Namen des Puffers aktiviert?
- 14. Speichern von gmon.out vor dem Löschen eines Prozesses
- 15. Warum erhalte ich eine Warnung "Titelsatz, aber verwende eine Systemkennung"?
- 16. die Adresse eines temporären Objekt
- 17. Adresse eines temporären in Go?
- 18. Erstellen eines temporären decltype
- 19. Zuweisen eines großen DMA-Puffers
- 20. Validierung mit DeleteView vor dem Löschen Instanz
- 21. Verwenden eines Puffers mit Android AudioTrack
- 22. Emacs auf OS X - False „Anfang des Puffers“
- 23. Wie fügt man vor dem Löschen von Daten in .net MVC 4 eine Jaquery Ja/Nein-Warnung ein?
- 24. in Linux, wie Dateien vor dem Löschen/Ändern geschützt werden?
- 25. Löschen von * .kml-Dateien in temporären Internetdateien
- 26. Kann ich Dateien aus temporären Internetdateien in Javascript löschen?
- 27. Warum erhalte ich eine Warnung "Nicht referenzierte lokale Variable"? (C++)
- 28. Warum erhalte ich diese Compiler-Warnung?
- 29. Muss ich vor dem Löschen die Verknüpfung aufheben? Laravel 5.2
- 30. vor dem Löschen triggern geringe Leistung
Dies funktioniert, außer ich den "Puffer" Argument zu entfernen haben. –
Gibt es auch eine Möglichkeit, andere Puffer auszuschließen, z. B. * Letzte * öffnen? –
Sie könnten folgendes in das 'und 'nach' buffer-modified-p' einfügen: (nicht (gleich (Buffer-Name) "* Open Recent *")) – EfForEffort