Je veux utiliser la fonction d'enregistrement automatique emacs avec tramp, mais uniquement pour les fichiers que je n'ouvre pas à l'aide de sudo. Ma configuration actuelle, basée sur la documentation de tramp , ressemble à ceci:
;;;;;;;; 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"))))))))
Il est interdit de créer des sauvegardes à distance de fichiers modifiés en tant que superutilisateur, mais les fichiers enregistrés automatiquement sont toujours créés sur ma machine locale. Existe-t-il un moyen de désactiver cela sans désactiver la sauvegarde automatique?
.emacs
fichier des utilisateurs , il ne sera pas lu si emacs est ouvert avecsudo
bien que correct? Alors, quand ce code serait-il en vigueur?emacs
avecsudo emacs
ne lirait pas le fichier de configuration dans le répertoire personnel des utilisateurs. Je me rends compte maintenant que c'est probablement une bonne réponse lorsque quelque chose est ouvert en tant que sudo à partir d'une instance d'emacs ouverte en tant qu'utilisateur./sudo::/
méthode du clochard)?default-directory
est une variable tampon locale, qui vous indique le répertoire actuel de ce tampon.(file-remote-p default-directory)
renvoie non nul, lorsque vous êtes distant.(file-remote-p default-directory 'user)
vous donne le nom d'utilisateur distant,"root"
par exemple.