Wie kontrolliere ich, wie Emacs Sicherungsdateien erstellt?
Emacs legt backup-Dateien mit dem Namen foo~
überall, und ich mag nicht daran denken müssen, Sie zu löschen. Auch, wenn ich eine Datei Bearbeiten, dass hat einen festen link irgendwo sonst in der Datei system, die hard-link verweist auf die Sicherung, wenn ich mit der Bearbeitung fertig, und das ist verwirrend und schrecklich. Wie kann ich entweder beseitigen diese backup-Dateien, oder Sie gehen irgendwo anders als im selben Verzeichnis?
InformationsquelleAutor der Frage jfm3 | 2008-09-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie jemals gespeichert worden ist, durch einen Emacs-backup-Datei, Sie
wahrscheinlich wollen mehr davon, nicht weniger. Es ist ärgerlich
Sie gehen in das gleiche Verzeichnis wie die Datei, die Sie Bearbeiten,
aber das ist leicht zu ändern. Sie können alle backup-Dateien gehen
in ein Verzeichnis, indem Sie etwas wie das folgende in Ihrem
.emacs
.Gibt es eine Reihe von Arkane details im Zusammenhang mit, wie Emacs
vielleicht erstellen Sie Ihre backup-Dateien. Sollte es benennen Sie die ursprüngliche
und Sie schreiben die bearbeitet Puffer? Was ist, wenn das original ist verlinkt?
Im Allgemeinen ist die sicherste, aber langsamste Wette ist, um immer backups machen
durch kopieren.
Wenn das zu langsam für einige Grund Sie könnten auch einen Blick auf
backup-by-copying-when-linked
.Da deine sicherungen sind alle in Ihren eigenen Platz nun, möchten Sie vielleicht
mehr, anstatt weniger. Haben Sie einen Blick auf die Emacs
die Dokumentation für diese Variablen (mit
C-h v
).Schließlich, wenn Sie unbedingt müssen, haben keine backup-Dateien:
Es macht mich krank, daran zu denken, aber.
InformationsquelleAutor der Antwort jfm3
Emacs backup/auto-speichern-Dateien sehr hilfreich sein kann. Aber diese Funktionen sind verwirrend.
Backup-Dateien
Backup-Dateien Tilden (
~
oder~9~
) am Ende geschrieben werden soll, um die Benutzer-home-Verzeichnis. Wennmake-backup-files
ist nicht-null-Emacs erstellt automatisch eine backup der original-Datei das erste mal speichern der Datei wird aus einem Puffer. Wenn Sie die Bearbeitung einer neuen Datei Emacs erstellen Sie eine Sicherung der zweiten Zeit, die Sie die Datei speichern.Egal wie viele Male Sie die Datei speichern, die Sicherung bleibt unverändert. Wenn Sie töten die Puffer und besuchen Sie dann die Datei erneut, oder wenn Sie das nächste mal starten Sie eine neue Emacs-Sitzung, eine neue backup-Datei gemacht werden. Die neue Sicherung spiegelt den Inhalt der Datei nach der Wiedereröffnung oder bei Beginn der Bearbeitung von Sitzungen. Aber ein vorhandenes backup wird nie mehr angerührt. Daher finde ich es sinnvoll, erstellte nummerierte backups (siehe Konfiguration weiter unten).
Backups zu erstellen explizit
save-buffer
(C-x C-s
) mit Präfix Argumente.diff-backup
unddired-diff-backup
vergleicht eine Datei mit der Sicherungs-oder Umgekehrt. Aber es gibt keine Funktion zum wiederherstellen von backup-Dateien. Zum Beispiel unter Windows, zum wiederherstellen einer backup-Dateies muss manuell kopiert werden, wie
Auto-save-Dateien
Auto-save-Dateien verwenden hashmarken (
#
) und geschrieben werden sollen, lokal in das Projekt-Verzeichnis (zusammen mit den eigentlichen Dateien). Der Grund ist, dass auto-save-Dateien sind nur temporäre Dateien, die Emacs erstellt, bis eine Datei wieder gespeichert (wie mit eilender Gehorsam).C-x C-s
(save-buffer
) zum speichern einer Datei Emacs-auto-speichert Dateien - basierend auf der Zählung der Tastaturanschläge (auto-save-interval
) oder wenn Sie die Eingabe beenden (auto-save-timeout
).Wenn der Benutzer speichert die Datei, die automatisch gesicherte version gelöscht wird. Aber wenn die user-exits die Datei ohne Sie zu speichern, Emacs-oder die X-session abstürzt, sind die automatisch gespeicherten Dateien noch vorhanden sind.
Verwenden
revert-buffer
oderrecover-file
wiederherstellen auto-speichern-Dateien. Beachten Sie, dass Emacs Aufzeichnungen unterbrochen Sitzungen für eine spätere Wiederherstellung in Dateien namens ~/.emacs.d/auto-save-list. Dierecover-session
Funktion wird diese Informationen benutzen.Die bevorzugte Methode zum wiederherstellen einer automatisch gespeicherten eingereicht ist
M-x revert-buffer RET
. Emacs fragt entweder "Puffer wurde automatisch gespeichert und vor kurzem. Wiederherstellen von auto-save-Datei?" oder "Revert-buffer aus der Datei mit dem Namen?". Bei letzteren gibt es keine auto-save-Datei. Zum Beispiel, weil Sie gespeichert haben, bevor Sie einen anderenauto-save-intervall
Tastenanschläge, in dem Fall Emacs gelöscht hatte die auto-save-Datei.Auto-speichern ist heutzutage standardmäßig deaktiviert, da es verlangsamen kann Bearbeiten, wenn eine Verbindung zu einem langsamen Rechner, und da viele Dateien, die sensible Daten enthalten.
Konfiguration
Hier ist eine Konfiguration, die IMHO am besten funktioniert:
Sensible Daten
Ein weiteres problem ist, dass Sie nicht wollen, zu haben Emacs verteilt Kopien von Dateien mit sensiblen Daten. Verwenden in diesem Modus auf einer pro-Datei-basis. Denn dies ist ein minor-Modus, für meine Zwecke habe ich umbenannt, es
sensitive-minor-mode
.Ermöglichen es für alle .vcf und .gpg - Dateien in Ihr .emacs verwenden Sie so etwas wie:
Alternativ, zu schützen, nur einige Dateien, wie einige .txt - Dateien, verwenden Sie eine Zeile wie
in der Datei.
InformationsquelleAutor der Antwort Andreas Spindler
Den akzeptierte Antwort ist
gut, aber es kann erheblich verbessert werden, indem zusätzlich sichern auf
jeder speichern und sichern versioniert Dateien.
Erste, grundlegende Einstellungen, wie beschrieben, in der angenommen
Antwort:
Nächsten, auch ein backup mit versionierten Dateien, die Emacs nicht standardmäßig
(Sie müssen nicht verpflichten, bei jedem speichern, richtig?):
Schließlich, stellen Sie eine Sicherung auf jeder sparen, nicht nur das erste mal. Wir machen zwei
Arten von sicherungen:
pro Sitzung backups: einmal auf der ersten speichern des Puffers in jedes
Emacs-session. Diese simulieren Emac das voreingestellte backup-Verhalten.
pro-speichern Sie backups: einmal auf jeder speichern. Emacs nicht dies tun, indem Sie
Standard, aber es ist sehr nützlich, wenn Sie verlassen Emacs laufen für eine lange
Zeit.
Den backups gehen in verschiedenen
Orte und Emacs
erstellt die backup-dirs automatisch, wenn Sie nicht existieren:
Wurde ich sehr an diesem Thema interessiert, nachdem ich schrieb
$<
statt$@
in meinemMakefile
etwa drei Stunden nach meinem vorherigen commit 😛Den oben basiert auf einem Emacs Wiki-Seite, die ich stark
bearbeitet.
InformationsquelleAutor der Antwort ntc2
Andere Möglichkeit der Konfiguration der backup-Optionen ist über die Schnittstelle Anpassen. Geben Sie ein:
Und dann an der
Customize group:
promptbackup
.Wenn Sie einen Bildlauf zum unteren Rand der Puffer sehen Sie Backup-Directory-Alist. Klicken Sie auf Zeigen Wert und setzen Sie den ersten Eintrag in der Liste wie folgt:
Alternativ können Sie backups von meiner Einstellung Machen Backup-Dateien zu
off
.Wenn Sie nicht möchten, Emacs automatisch Bearbeiten Sie Ihre
.emacs
- Datei Sie möchten, um einrichten persönliche Einstellungen Datei.InformationsquelleAutor der Antwort Dave Webb
Können Sie deaktivieren Sie Sie zusammen durch
InformationsquelleAutor der Antwort Paweł Hajdan