Not using versioning on your configuration files and editing them with Vim?
Use Vim’s backup option to automatically keep a copy of past versions. To put in your ~/.vimrc
:
"Turn on backup option
set backup
"Where to store backups
set backupdir=~/.vim/backup//
"Make backup before overwriting the current buffer
set writebackup
"Overwrite the original backup file
set backupcopy=yes
"Meaningful backup name, ex: filename@2015-04-05.14:59
au BufWritePre * let &bex = '@' . strftime("%F.%H:%M")
From now on, each time you’ll save a file (hit :w
), Vim will save a copy in ~/.vim/backup/
with this syntax [email protected]:58
.
This honestly saves my life about once a year 😁.
This only backs up what was saved before the new write, so new modifications between the last write and the new write will not be saved.
Does @nepsilon (or someone else!) know how to modify this gist so that it also saves the latest modifications?
I've tried modifying the autocommand event from
BufWritePre
toBufWritePost
and it doesn't work. Not only does it not work, also instead of creating a backup file with the filename[email protected]:59
, it creates one with the filenamefilename~
, which really confuses me. Does someone know what's going on here?