
На данный момент у меня есть:
(setq backup-directory-alist
`((".*" . ,temporary-file-directory)))
(setq auto-save-file-name-transforms
`((".*" ,temporary-file-directory t)))
в моем .emacs
, но, похоже, это не изменило место сохранения файлов автосохранения (изменилось место сохранения файлов резервных копий. M-x describe-variable
показывает, что temporary-file-directory
установлено значение /tmp/
, но когда я редактирую файл с именем testing.md
и имею несохраненные изменения, я получаю файл с именем .#testing.md
в том же каталоге. Как мне сделать так, чтобы этот файл сохранялся в другом месте (например /tmp/
, )?
Мне не повезло сэти предложения, поэтому любые предложения приветствуются!
Если это поможет, у меня GNU Emacs 23.3.1, работающий под управлением Ubuntu.
решение1
Эти файлы не являются автосохранениями, это файлы блокировки. Попробуйте их ls -l
, и вы увидите, что это символические ссылки, которые указывают на фиктивные имена файлов, которые на самом деле являются именем пользователя+pid процесса редактирования. Насколько мне известно, нет способа настроить это. (Вся суть в том, чтобы избежать проблем, когда два разных пользователя редактируют один и тот же файл — если один из них изменит местоположение файла блокировки, они не будут знать о редактировании друг друга.) См. такжеэтот вопрос.
(Кстати, использование /tmp
для сохранения резервных копий — не очень хорошая идея, если только вы не уверены, что являетесь единственным пользователем на машине.)
решение2
; 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)))
ОС: win7 Версия: emacs 23.4