Créer une sauvegarde locale lors de l'édition des fichiers distants via netrw dans vim

StackOverflow https://stackoverflow.com/questions/563385

  •  05-09-2019
  •  | 
  •  

Question

Je travaille avec beaucoup de fichiers à distance en utilisant vim et le plug-in netrw. Je garde aussi des sauvegardes horodatés en changeant la &backupext (dans la documentation ).

Tout en travaillant dans un fichier distant. (Scp: //server//folder/file.txt), je remarque que lorsque je l'enregistre, une sauvegarde est même pas faite

Y at-il une manière que je peux avoir une sauvegarde automatiquement en local (en fonction des paramètres de sauvegarde vim) chaque fois que j'enregistrer un fichier distant?

Était-ce utile?

La solution

Je ne pense pas qu'il y ait un cadre simple pour basculer. Vous pouvez essayer de scripter quelque chose si - ajouter votre propre BufWriteCmd autocommande pour écrire une sauvegarde. Essayez d'utiliser set verbose=9 pour le débogage (et voir comment netrw-t-il).

Autres conseils

Une fois, je débattais avec une variante de ce problème: la tenue des registres locaux des changements que j'ai fait à un seul arbre source sur à machine distante.

Je maintenais une copie locale de l'arborescence des sources et un dépôt svn locale à la version des fichiers. Au lieu d'utiliser netrw et la recherche d'un moyen de sauver des sauvegardes localement, je localement et tout edited besoin d'un moyen de propager automatiquement mes modifications à la machine distante.

Solution 1: utiliser un BufWritePost AUTOCOMMAND pour appeler scp pour copier le fichier après qu'il a été écrit. Cela peut fonctionner assez efficacement si le système permet de partager des processus descripteurs de fichiers, car il est possible d'exécuter une session ssh maître à la machine à distance et partager la connexion pour les sessions ultérieures. Si vous êtes moins chanceux (je travaillais sur une machine windows à l'époque), le temps qu'il faut pour négocier une nouvelle connexion pour chaque fichier peut être douloureux

Solution 2: pour Windows, utilisez WinSCP , qui a un mode "garder la machine distante mis à jour", dans lequel il surveille un répertoire et tous ses sous-répertoires pour les changements et les modifications propage automatiquement, étant donné un ensemble de règles (modèles à ignorer, le mode de transfert pour les différents types de fichiers, etc.).

scroll top