2009-10-31 22 views
9

Voglio avere tutti i miei buffer di file sempre sincronizzati con il contenuto del file su disco. È possibile? (Preferibilmente come modalità)Non ho bisogno di salvare. Come mantenere i buffer di Emacs sincronizzati con i file?

Se si pensa che non è sicuro, che mi limiterò a dire che emacs elim + git è più che sufficiente per me e trovo risparmio esplicito e ripristino (se altro programma modifica il file) funzione di sicurezza obsoleta.

+0

Abbreverete davvero la vita dei file multimediali che memorizzano i vostri file. –

+0

Vuoi salvare automaticamente o vuoi annullare automaticamente? – Schwern

+0

Desidero sincronizzazione, ad esempio salvataggio automatico e annullamento automatico. –

risposta

1

Suoni come desiderato auto-revert-mode (o più probabilmente modalità di ripristino automatico globale).

+0

Risolve metà del problema, che dire di global-auto-save-mode? –

+0

Ah, di "Non ho bisogno di salvare" ho pensato che non avresti mai voluto scrivere sul file. –

3

Impostare "intervallo di salvataggio automatico" su 1. Questo salverà dopo ogni carattere digitato. Verrà salvato nel file "Salva", anziché nel file effettivo, ma il tuo lavoro sarà protetto.

Un'altra opzione è questo: http://www.litchie.net/programs/real-auto-save.html

+0

Vedi anche: http://bryan-murdock.blogspot.com/2008/03/beat-save-habit.html, EmacsWiki: http://www.emacswiki.org/emacs/AutoSave, e (inutilmente): http://shreevatsa.wordpress.com/2008/01/22/emacs-auto-save/ – ShreevatsaR

8

Per portare tutti insieme:

Se si vuole auto-saving essere fatto nel file visitato piuttosto che in un file di salvataggio automatico separata, set la variabile auto-save-visited-file-name ad un valore diverso da zero. In questa modalità, non vi è alcuna reale differenza tra il salvataggio automatico e il salvataggio esplicito.

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

questo rende il vostro auto-salva andare nel file che si sta lavorando, e non uno esterno.

Quindi è possibile impostare auto-save-interval su 1 e abilitare global-auto-revert-mode e tutto è pronto.

Penso che lo faccia per voi ...

+0

Bello. Ma voglio questo solo per i file che sono sotto la supervisione di git, è possibile automatizzare questo? –

+0

Probabilmente puoi modificare la tua copia locale di git.el per abilitare queste modifiche solo quando stai modificando i file controllati da git. –

+1

o utilizzare qualcosa come eproject per configurarlo in base al tipo di progetto – l0st3d

Problemi correlati