• vim 自动备份


    启动时间20:11 完成时间22:26 这个vim脚本的作用是用于tex文件,当文件的最后一行含有"backup"字符,会把这个tex文件与相应的pdf文件复制到backup_path指定的位置.这个函数会在tex文件退出的时候作用.

    tex文件在备份的文件名中加入日期加以区别,如果是同一分钟内的文件,只保留后一个.

    pdf文件是不按时间区别的.

    如果备份中有错发生,就用getchar() 函数,中断当前的工作,确认之后再关闭.

    ps:当打开两个文件时,如果出错如没有目录,这时出错的显示会有两次,但是如果只打开一个文件,则只会显示一次,这个可能与函数的强制载入有关,但是具体的是什么还不知道. "{{{自动备份,同步 " autocmd BufWinleave *.tex if getline("$") =~ "backup" |call Backup()| endif function! Backup() "如意backup_path的最后一个字符是"/" let backup_path = "...." if isdirectory(backup_path) == 0 echo "no the path" let stop = getchar() return 1 endif "当前文件的全名 let name = expand("%:p") if filereadable(name) == 0 echo "this file has problem" let stop = getchar() return 2 endif let date = strftime("%y%m%d%H%M") let backup_name = backup_path . expand("%:t:r") ."_" . date .".". expand("%:e") if filereadable(backup_name) == 1 if delete(backup_name) == 1 echo "there is the same file" let stop = getchar() return 3 endif endif "写入tex文件 exec "write " backup_name "复制pdf文件 let pdfname=expand("%:p:r") .".pdf" if filereadable(pdfname) != 1 echo "there is not the pdf file" let stop = getchar() return 4 endif let targetpdf =backup_path . expand("%:t:r") . ".pdf" let pdfcpinfo = system("cp " .pdfname ." " . targetpdf) if pdfcpinfo != '' echo "can't cp the pdf file" let stop = getchar() return 5 endif return 0 endfunction

  • 相关阅读:
    了解java注解
    使用java泛型设计通用方法
    dbutils基本使用
    jquery+ajax+struts2
    c3p0连接数据库的3种方式
    ASP单步调试工具
    设置网页图片不能被用户下载或者另存为
    简单树形菜单
    GBK,GB3212 Unicode编码问题详解
    html页面乱码问题解决方法编码批量转换
  • 原文地址:https://www.cnblogs.com/fengidri/p/2757476.html
Copyright © 2020-2023  润新知