Ich möchte, dass Emacs mich fragt, ob ich einen modifizierten Puffer speichern möchte, wenn dieser Puffer keiner Datei zugeordnet ist. Um einen neuen Puffer zu öffnen (ohne eine Datei zu besuchen) habe ich folgende Funktion in meiner .emacs Datei:
%Vor%Ich dachte, die Einstellung "buffer-offer-save" auf etwas nicht Null würde den Trick gemacht. Aber wenn ich den Puffer mit "kill-this-buffer" abtöte, wird er sofort getötet, ohne etwas zu fragen.
Dies geschieht auf GNU Emacs 23.1.1
Irgendwelche Ideen?
Danke, W
Bearbeitet, um die Verwendung von buffers-offer-save
hinzuzufügen. Hinweis: Die Variable buffer-offer-save
wird nur bei verwendet Beenden Emacs .
Sie können mit diesem Code beginnen und ihn an das anpassen, was Sie wollen:
%Vor%Nach weiterer Überlegung ist das ein wenig umständlich, weil Sie nach allen Puffern gefragt werden, die gekillt werden, und es gibt oft viele temporäre Puffer, die Emacs benutzt. Wenn Sie nur gefragt werden möchten, wenn Sie versuchen, einen Puffer interaktiv zu löschen (der keiner Datei zugeordnet ist).
Sie können diesen Ratschlag verwenden, der Sie nur auffordert, wenn Sie interaktiv versuchen, einen Puffer zu löschen:
%Vor% Das Ändern von 'new-empty-buffer
scheint es so zu machen, wie ich es mit Treys Defadvice beabsichtigt habe.
Dies macht buffer-offer-save
dauerhaft lokal in unserem neuen Puffer, so dass es nicht mit den restlichen lokalen Variablen beim Umschalten der Hauptmodi verloren geht.
buffer-offer-save
fragt beim Beenden von Emacs, aber nicht beim manuellen Schließen eines Puffers, macht keinen Sinn, warum also nicht seine Zuständigkeiten "vergrößern"?
Es wird nicht gefragt, ob untitled
buffer neu erstellt wurde. Es wird nicht angezeigt, wenn Sie kill-buffer
von Elisp verwenden. Es wird nicht in Emacs-Systempuffern wie *Messages*
aufgefordert. Aber es wird gefragt, ob Sie einen leeren Puffer erstellt und etwas darin geschrieben haben.
Siehe auch meine Antwort zum Erstellen eines leeren Puffers .