Ich möchte die automatische Speicherfunktion von emacs mit tramp verwenden, aber nur für Dateien, die ich nicht mit sudo öffne. Meine aktuelle Konfiguration, basierend auf der Tramp-Dokumentation , sieht folgendermaßen aus:
;;;;;;;; BAKUCP ;;;;;;;;
;; Backup remote files locally to stop autosave pain
(setq tramp-backup-directory "~/.emacs-backup")
(unless (file-directory-p tramp-backup-directory)
(make-directory tramp-backup-directory))
(if (file-accessible-directory-p tramp-backup-directory)
(setq tramp-auto-save-directory tramp-backup-directory)
(error "Cannot write to ~/.emacs-backup"))
;; Don't backup su and sudo files
(setq backup-enable-predicate
(lambda (name)
(and (normal-backup-enable-predicate name)
(not
(let ((method (file-remote-p name 'method)))
(when (stringp method)
(member method '("su" "sudo"))))))))
Es ist verboten, Remote-Backups von Dateien zu erstellen, die als Superuser bearbeitet wurden, aber automatisch gespeicherte Dateien werden weiterhin auf meinem lokalen Computer erstellt. Gibt es eine Möglichkeit, dies zu deaktivieren, ohne die automatische Speicherung zu deaktivieren?
.emacs
einfügen, wird es nicht gelesen, wenn Emacs mitsudo
obwohl korrekt geöffnet wird . Wann würde dieser Code in Kraft sein?emacs
mitsudo emacs
die Konfigurationsdatei im Home-Verzeichnis der Benutzer nicht gelesen wird. Mir ist jetzt klar, dass dies wahrscheinlich eine gute Antwort ist, wenn etwas als Sudo aus einer Instanz von Emacs geöffnet wird, die als Benutzer geöffnet wurden./sudo::/
Tramp-Methode geöffnet )?default-directory
ist eine pufferlokale Variable, die das aktuelle Verzeichnis dieses Puffers angibt.(file-remote-p default-directory)
Gibt ungleich Null zurück, wenn Sie remote sind.(file-remote-p default-directory 'user)
gibt Ihnen"root"
zum Beispiel den Remote-Benutzernamen .