zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Resharper的使用
    SQL Server 占用CPU较高的解决方法
    014 FPGA千兆网UDP通信
    012 PCIe总线的基础知识
    008 PCI设备BAR空间的初始化
    016 基于FPGA的网口通信实例设计【转载】
    015 FPGA千兆网TCP通信【转载】
    006 PCI总线的桥与配置(一)
    004 PCI Express体系结构(四)
    007 PCI总线的桥与配置(二)
  • 原文地址:https://www.cnblogs.com/fengidri/p/2757476.html
Copyright © 2011-2022 走看看