
Ich habe derzeit:
(setq backup-directory-alist
`((".*" . ,temporary-file-directory)))
(setq auto-save-file-name-transforms
`((".*" ,temporary-file-directory t)))
in meinem .emacs
, aber das scheint sich nicht geändert zu haben, wo automatisch gespeicherte Dateien gespeichert werden (es hat sich geändert, wo Sicherungsdateien gespeichert werden. M-x describe-variable
zeigt, dass dies temporary-file-directory
auf eingestellt ist /tmp/
, aber wenn ich eine Datei namens bearbeite testing.md
und nicht gespeicherte Änderungen habe, erhalte ich eine Datei namens .#testing.md
im selben Verzeichnis. Wie kann ich dafür sorgen, dass diese Datei woanders hin verschoben wird (z. B. /tmp/
)?
Ich hatte kein Glück mitdiese Vorschläge, also sind alle Vorschläge willkommen!
Falls es hilft: Ich verwende GNU Emacs 23.3.1 und Ubuntu.
Antwort1
Diese Dateien sind keine automatischen Speicherungen, sondern Sperrdateien. Probieren Sie ls -l
sie aus und Sie werden sehen, dass es sich um symbolische Links handelt, die auf falsche Dateinamen verweisen, die eigentlich Benutzername+PID des Bearbeitungsprozesses sind. Soweit ich weiß, gibt es keine Möglichkeit, das anzupassen. (Der Sinn besteht darin, Probleme zu vermeiden, wenn zwei verschiedene Benutzer dieselbe Datei bearbeiten – wenn einer den Speicherort der Sperrdatei ändert, wissen sie nichts von den Änderungen des anderen.) Siehe auchdiese Frage.
(Übrigens /tmp
ist die Verwendung zum Speichern von Backups wirklich keine gute Idee, es sei denn, Sie sind sicher, dass Sie der einzige Benutzer auf dem Computer sind.)
Antwort2
; auto save path
(defvar autosave-dir (concat "~/auto-save" "/"))
(make-directory autosave-dir t)
(setq auto-save-file-name-transforms
`(("\\(?:[^/]*/\\)*\\(.*\\)" ,(concat autosave-dir "\\1") t)))
Betriebssystem: Win7. Version: Emacs 23.4.