Domanda

Io lavoro con molti file in remoto utilizzando vim e il plugin netrw. Tengo anche i backup timestamp cambiando il &backupext (che si trova nella documentazione ).

Mentre si lavora in un file remoto. (SCP: //server//folder/file.txt), ho notato che quando salvo che, una copia di backup non è nemmeno stato fatto

C'è un modo per avere un backup automatico di produzione locale (in base alle impostazioni di backup vim) ogni volta che si salva un file remoto?

È stato utile?

Soluzione

Non credo che ci sia una semplice impostazione per attivare o disattivare. Si potrebbe provare a qualcosa di script anche se - aggiungere la tua autocomando BufWriteCmd di scrivere un backup. Provare a utilizzare set verbose=9 per il debug (e per vedere come netrw lo fa).

Altri suggerimenti

Una volta ho lottato con una variante di questo problema: mantenere registri locali di modifiche apportate ai solo sorgenti su una solo macchina remota.

ho mantenuto una copia locale del l'intero albero di origine e un repository svn locale per la versione dei file. Invece di usare netrw e alla ricerca di un modo per salvare i backup in locale, ho curato tutto a livello locale e bisogno di un modo per propagare automaticamente le mie modifiche al computer remoto.

Soluzione 1: utilizzare un BufWritePost autocomando per invocare SCP per copiare il file dopo che è stato scritto. Questo può funzionare abbastanza efficiente se il sistema permette ai processi di condividere i descrittori di file, dal momento che è possibile eseguire una sessione maestro ssh alla macchina remota e condividere la connessione per le sessioni successive. Se siete meno fortunati (stavo lavorando su una macchina Windows, al momento), il tempo necessario per negoziare una nuova connessione per ogni file può essere doloroso

Soluzione 2: per le finestre, utilizzare WinSCP , che ha una modalità "continuano macchina remoto aggiornato", in cui controlla una directory e tutte le sue sottodirectory per modifiche e quindi propaga automaticamente le modifiche, dato un insieme di regole (i modelli da ignorare, modalità di trasferimento per i diversi tipi di file, ecc).

giudicare Bene dall'uso protocollo SCP, sembra che sarebbe stato molto più facile per voi di essere utilizzando il fusibile sshfs , che consenta di avere un comportamento normale filesystem backup invece di una semplice spinta / trazione interfaccia tipo CRUD.

Il netrw plug completamente bypassa il comando :write, l'unico modo per ottenere la funzionalità 'backup' di nuovo è quello di farlo da soli, usando autocomandi.

Mi rendo conto che non è una risposta diretta alla domanda iniziale - tuttavia, cosa si sta facendo sembra un po 'come un semplice-VCS-in-disguise - così c'è un motivo per cui non dovrebbe rendere i file remoti per esempio un repository git, quindi clonare quel repository a livello locale e spingere le modifiche dopo il montaggio?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top