Pergunta

Eu trabalho com muitos arquivos remotamente usando vim eo plugin netrw. Eu também manter backups timestamped alterando o &backupext (encontrado no documentação ).

Ao trabalhar em um arquivo remoto. (Scp: //server//folder/file.txt), notei que quando eu salvá-lo, uma cópia de segurança não está sendo sequer fez

Existe uma maneira que eu possa ter um backup feito automaticamente localmente (de acordo com vim configurações de backup) cada vez que eu salvar um arquivo remoto?

Foi útil?

Solução

Eu não acho que há uma configuração simples de alternância. Você poderia tentar roteiro algo embora - adicione seu próprio BufWriteCmd autocommand para escrever um backup. Tente usar set verbose=9 para depuração (e para ver como netrw faz isso).

Outras dicas

Uma vez eu lutei com uma variante deste problema: manter os registros locais de alterações que fiz a um única árvore de origem em um única máquina remota.

I manteve uma cópia local de toda a árvore de origem e um repositório SVN local para versão os arquivos. Em vez de usar netrw e à procura de uma maneira de salvar backups localmente, eu editei tudo locais e precisava de uma maneira de propagar automaticamente as minhas alterações à máquina remota.

solução 1: usar um BufWritePost autocommand para scp invoke para copiar o arquivo depois de ter sido escrita. Isso pode funcionar de forma eficiente o suficiente se o sistema permite que os processos para descritores de arquivos ação, uma vez que é possível executar uma sessão de mestre ssh para a máquina remota e compartilhar a conexão para sessões subseqüentes. Se você é menos afortunados (eu estava trabalhando em uma máquina Windows na época), o tempo que leva para negociar uma nova conexão para cada arquivo pode ser dolorosa

Solução 2: para as janelas, use WinSCP , que tem uma "máquina remota manter atualizados" modo, em que monitora um diretório e todos os subdiretórios de alterações e, em seguida, propaga automaticamente as alterações, dada um conjunto de regras (padrões de ignorar, o modo de transferência para diferentes tipos de arquivos, etc).

Bem a julgar pelo seu uso protocolo scp, parece que seria muito mais fácil para você estar usando o fusível sshfs , que iria permitir-lhe ter um comportamento normal do sistema de arquivos apoiando você em vez de apenas um tipo de interface envio / recepção CRUD.

O plugin netrw ignora completamente o comando :write, a única maneira de obter o 'backup' funcionalidade de volta é para fazê-lo sozinho usando autocomandos.

Eu percebo que não é uma resposta direta à pergunta inicial - no entanto, o que está fazendo parece muito como um disfarce simples VCS-in-- assim há uma razão para que você não faria os arquivos remotos por exemplo um repositório git, então clone desse repositório local e empurrar as alterações após a edição?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top