3

В настоящее время я получил:

(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.

3 ответа3

7

Эти файлы не являются автосохранениями, они блокируют файлы. Попробуйте ls -l их, и вы увидите, что это символические ссылки, которые указывают на поддельные имена файлов, которые на самом деле являются именем пользователя +pid процесса редактирования. AFAIK, нет способа настроить это. (Весь смысл в том, чтобы избежать проблем, когда два разных пользователя редактируют один и тот же файл - если один из них изменяет местоположение файла блокировки, они не будут знать о правках друг друга.) Смотрите также этот вопрос.

(Кстати, использование /tmp для сохранения резервных копий на самом деле не очень хорошая идея, если вы не уверены, что являетесь единственным пользователем на компьютере.)

1
; 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

1

Попробуйте посоветовать make-auto-save-file-name изменить его возвращаемое значение.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .