Emacs: Alterando o local dos arquivos salvos automaticamente

3

Eu tenho atualmente:

(setq backup-directory-alist
      '((".*" . ,temporary-file-directory)))
(setq auto-save-file-name-transforms
      '((".*" ,temporary-file-directory t)))

no meu .emacs , mas isso não parece ter mudado onde os arquivos de salvamento automático são salvos (ele mudou onde os arquivos de backup são salvos. M-x describe-variable mostra que temporary-file-directory está definido como /tmp/ , mas quando edito um arquivo chamado testing.md e tenho alterações não salvas, recebo um arquivo chamado .#testing.md no mesmo diretório Como posso fazer esse arquivo ir para outro lugar (por exemplo, /tmp/ )?

Não tive sorte com estas sugestões , por isso qualquer sugestão bem-vinda!

Se isso ajudar, estou no GNU Emacs 23.3.1, rodando o Ubuntu.

    
por Dominic Rodger 13.04.2012 / 10:48

3 respostas

6

Esses arquivos não são autosaves, são arquivos de bloqueio. Tente ls -l , e você verá que são links simbólicos que apontam para nomes de arquivos falsos, que são, na verdade, o username + pid do processo de edição. AFAIK, não há como personalizar isso. (O ponto principal é evitar problemas quando dois usuários diferentes editam o mesmo arquivo - se um deles alterar o local do arquivo de bloqueio, eles não saberão sobre as edições uns dos outros.) Consulte também esta questão .

(BTW, usando /tmp para salvar backups, não é uma boa ideia, a menos que você tenha certeza de que é o único usuário na máquina).

    
por 13.04.2012 / 11:48
1

Tente aconselhamento make-auto-save-file-name para modificar seu valor de retorno.

    
por 13.04.2012 / 11:15
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)))

SO: win7 Ver: emacs 23.4

    
por 16.06.2012 / 10:35

Tags