Emacs: Изменение расположения файлов автосохранения

Emacs: Изменение расположения файлов автосохранения

На данный момент у меня есть:

(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

Связанный контент