2010-01-07 4 views
14

Acabo de empezar a usar emacs después de haber usado vi durante mucho tiempo. :)¿Cómo puedo ocultar los archivos de copia de seguridad creados por emacs?

Una cosa que me molesta es que cada vez que modifico un archivo, lo guardo y salgo de emacs, veo un archivo de copia de seguridad creado en el mismo directorio llamado filename~ (si el archivo que edité era filename).

¿Hay alguna manera de que pueda deshacerme de esto? ¿O esconder estos archivos? Es muy molesto de ver toneladas de archivos de copia de seguridad cuando hago ls del directorio.

+2

Esos serían lo que por lo general llamar 'archivos de copia de seguridad'. –

Respuesta

19

Puede bien ser enviados a su propia carpeta con el siguiente código:

;; Don't clutter up directories with files~ 
(setq backup-directory-alist `(("." . ,(expand-file-name 
            (concat dotfiles-dir "backups"))))) 

;; Don't clutter with #files either 
(setq auto-save-file-name-transforms 
     `((".*" ,(expand-file-name (concat dotfiles-dir "backups"))))) 

O puede eliminarlos por completo, así:

(setq make-backup-files nil) 
(setq auto-save-default nil) 

Personalmente me gustaría tener cuidado de dejarlas ya que pueden ser útiles. Más discusión está aquí:

Yo recomendaría la salida a la emacs-starter-kit que ordena a una carga de problemas que tiene la gente cuando viene a emacs, y es bastante utilizado.

http://github.com/technomancy/emacs-starter-kit/blob/master/starter-kit-misc.el


Actualización:

No parece haber mucha confusión sobre cómo utilizar las funciones. Voy a tener una pequeña jugada más tarde, pero aquí hay más información. Tenga en cuenta que auto-save-file-name-transforms:

le permite especificar una serie de expresiones regulares y reemplazos para transformar el ahorro automático de nombre de archivo [emacs-manual]

así que no es tan simple como añadir un nombre de carpeta. Dicho esto parece de una rápida búsqueda de Google lo siguiente podría simplemente hacer lo que todos queremos:

;;; backup/autosave 
(defvar backup-dir (expand-file-name "~/.emacs.d/backup/")) 
(defvar autosave-dir (expand-file-name "~/.emacs.d/autosave/")) 
(setq backup-directory-alist (list (cons ".*" backup-dir))) 
(setq auto-save-list-file-prefix autosave-dir) 
(setq auto-save-file-name-transforms `((".*" ,autosave-dir t))) 

http://www.google.com/codesearch?hl=en&lr=&q=auto-save-file-name-transforms&sbtn=Search

+0

Gracias! ¿Hay algo similar para los archivos creados con el nombre # filename #? – n1kh1lp

+0

cambiado en mi respuesta. –

+0

Muchas gracias James! :) – n1kh1lp

0

En su .emacs:

(setq make-backup-files nil) 

Editar: Si eres no familiarizado con el archivo .emacs, es un archivo llamado .emacs que reside en su directorio $ HOME de usuario. Si aún no tiene uno, puede simplemente crearlo y emacs lo cargará al inicio.

+0

Gracias! ¿Hay algo similar para los archivos creados con el nombre # filename #? – n1kh1lp

+0

No estoy seguro de eso. Para ser honesto, dudaría en eliminarlos por completo, porque generalmente eso significa que emacs se cerró sin guardar un búfer. Por lo general, ahorro con frecuencia, por lo que si existe # archivo #, significa que emacs/la máquina se colgó; Suelo terminar utilizándolo para recuperar un archivo. –

5

Las siguientes líneas en ~/.emacs va a poner toda la auto-parada de los archivos de copia de seguridad en /tmp:

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

Parece la mejor solución para mí. Es el que yo usé Gracias. –

Cuestiones relacionadas