之前在使用sublime的时候就特别喜欢一个叫sublimetext-automatic-backups的插件。因为使用这个插件可以自动在每一次保存文件的时候留一份备份给自己,而且会在制定的目录下面生成包括了文件目录结构的备份
类似于这样的效果
我编辑了 ~/xx/yy/zz/abc.v 文件
保存之后,会在我指定的一个目录,比如 ~/.vim/backup目录下生成 xx/yy/zz/abc.v_20170102_03:04:05 这样一个文件
查询vimscript的过程是痛苦的,但是结果是令人欣慰的,就是我把这个效果实现出来了。
在~/.vimrc 下面增加这么一段代码就能实现上述的效果
set backup
function Bkdir()
let $BKODIR=expand("$HOME/.vim/backup")
let $RUNTIMEPATH=expand("%:p:h")
let $BKDIR=$BKODIR.$RUNTIMEPATH
if !isdirectory(expand("$BKDIR"))
call mkdir(expand("$BKDIR"),"p",0750)
endif
endfunction
au BufWrite * call Bkdir()
autocmd BufWritePre * let &bex = '_'.strftime("%Y%m%d_%H_%M")
let &backupdir=expand("$HOME/.vim/backup").expand("%:p:h")