writebackupAutomator : Automatically write a backup on the first write.
| script karma
Downloaded by 348
Comments, bugs, improvements
script versions (upload new version)
Unless you use a revision control system, you have to write backups yourself.
The writebackup.vim plugin makes that a simple :WriteBackup command from
within Vim, but you still have to remember to trigger the backup. The
writebackupVersionControl.vim extension can make up for a missed backup when
you have already made changes to the buffer, but have not persisted them yet,
via :WriteBackupOfSavedOriginal. Still, wouldn't it be nice if Vim detected
that you have made backups of a file in the past, and automatically creates a
new backup - without any action on your side?
This plugin builds on the writebackup.vim and
writebackupVersionControl.vim plugins, and automatically writes a backup on
a day's first write of a file that was backed up in the past, but not yet
This gives you one no-hassle, worry-free backup every day. For many
writebackup.vim use cases (like editing config files distributed all over
/etc/), this initial "good state from the past" backup is the most important
one. (And of course you can still manually trigger additional checkpoint
backups via :WriteBackup as in the past.)
Once any backup exists (you can check via :WriteBackupListVersions), a new
backup will be written on each day when you first persist the buffer via
:write, provided that the file has not been modified yet today. (Otherwise,
you would not be able to undo the automatic backup via
:WriteBackupDeleteLastBackup; the automatic backup would keep reappearing
after each :write.) Watch out for file synchronization tools and version
control systems that may silently update the file modification date to today
and therefore prevent automatic backups!
For this and other reasons, it is still a good practice to trigger backups via
:WriteBackup yourself, and just use the writebackupAutomator plugin as a
safety net, for those instances where you forget to backup.
This script is packaged as a vimball. If you have the "gunzip" decompressor
in your PATH, simply edit the *.vba.gz package in Vim; otherwise, decompress
the archive first, e.g. using WinZip. Inside Vim, install by sourcing the
vimball or via the :UseVimball command.
To uninstall, use the :RmVimball command.
- Requires Vim 7.0 or higher.
- Requires the writebackup.vim plugin (vimscript #1828), version 3.00 or
- Requires the writebackupVersionControl.vim plugin (vimscript #1829),
version 3.00 or higher.
Click on the package to download.
ip used for rating: 18.104.22.168