2009-10-31 15 views
9

Quiero tener todos mis archivos búfer siempre sincronizados con el contenido del archivo en el disco. ¿Es posible? (Preferiblemente como un modo)No necesito guardar. ¿Cómo mantener los búferes de Emacs sincronizados con los archivos?

Si usted piensa que no es seguro, que me limitaré a decir que emacs deshacer + git es más que suficiente para mí y me encuentro con ahorro explícita y volver (si otro programa cambia el archivo) característica de seguridad obsoleta.

+0

vas a acortar realmente la vida de los medios de almacenamiento de sus archivos. –

+0

¿Desea guardar automáticamente o desea revertir automáticamente? – Schwern

+0

Quiero sincronización, es decir, guardar automáticamente y revertir automáticamente. –

Respuesta

1

Suena como si deseara auto-revert-mode (o, más probablemente, modo de reversión automática global).

+0

Resuelve la mitad del problema, ¿qué pasa con global-auto-save-mode? –

+0

Ah, por "No necesito guardar" Supuse que nunca quisiste escribir en el archivo. –

3

Establezca el "intervalo de guardado automático" en 1. Eso se guardará después de cada carácter que escriba. Se guardará en el archivo "guardar", en lugar del archivo real, pero su trabajo estará protegido.

Otra opción es la siguiente: http://www.litchie.net/programs/real-auto-save.html

+0

Ver también: http://bryan-murdock.blogspot.com/2008/03/beat-save-habit.html, EmacsWiki: http://www.emacswiki.org/emacs/AutoSave, y (sin sentido): http://shreevatsa.wordpress.com/2008/01/22/emacs-auto-save/ – ShreevatsaR

8

Para ponerlo todo junto:

Si quieres automático de ahorro hay que hacer en el fichero visitado en lugar de en un archivo de guardado automático separado, establecer la variable auto-save-visited-file-name a un valor no nulo. En este modo, no existe una diferencia real entre el guardado automático y el guardado explícito.

http://www.gnu.org/software/emacs/manual/html_node/emacs/Auto-Save-Files.html#Auto-Save-Files

Esto hace que su auto-guarda entrar en el archivo que se está trabajando, y no uno externo.

Luego puede establecer auto-save-interval en 1, y habilitar global-auto-revert-mode y ya está todo listo.

creo que lo hace por usted ...

+0

Agradable. Pero quiero esto solo para los archivos que están bajo la supervisión de git, ¿es posible automatizar esto? –

+0

Probablemente pueda modificar su copia local de git.el para habilitar estos cambios solo cuando esté editando archivos controlados por git. –

+1

o use algo como eproject para configurarlo en base a un tipo de proyecto – l0st3d

Cuestiones relacionadas