vim - Armazena um backup antes de cada gravação

4

Eu quero criar um backup do arquivo que estou editando antes de cada gravação. Por exemplo, se eu estiver editando file.txt , quando eu for escrever o arquivo com :w , quero que o vim primeiro salve um backup de file.txt em um diretório (ou seja, ~/.vim_backups/ ) como file_2013-01-01_01-01-01.txt , onde isso representa YYYY-MM-DD_HH-MM-SS.txt . Estou ciente de alternativas como o controle de versão, mas estou curioso para saber se isso é possível no vim.

    
por Zack Zatkin-Gold 17.11.2013 / 07:20

1 resposta

4

Este artigo do vim wikia intitulado: Manter backups incrementais de arquivos editados , soa como o que você está procurando. Existe esse método que anexa uma rotina de salvamento para que seja mapeada para a tecla Esc .

With the following mapping:

   fun! InitBex()
     let myvar = strftime("(%y%m%d)[%Hh%M]")
     let myvar = "set backupext=_". myvar
     execute myvar
     echo myvar
    endfun
    map <Esc> :call InitBex()<CR>

You can easily refresh the backupextension time everytime you hit the Esc key. So you can get backups every minute, every hour, every day and so on.

Existem vários outros métodos discutidos no tópico do Wiki.

    
por 17.11.2013 / 08:29

Tags