恢复不小心误覆盖的代码文件 (sublime编辑器)

最新写了一个python脚本,另外在终端上运行一个shell脚本循环记录一些性能、耗时参数。取出记录的数据,使用python pyplot强大的绘图功能来可视化,易用程度仅次于matlab。
本次文件覆盖杯具前1秒的状态

sublime text 3 打开了plot.py
激活窗口不在sublime
sublime升级一个版本,恰好Local history不工作

先上解决办法:

  1. 绝对不要切sublime窗口,vim打开sublime设置 vim /Users/youname/Library/Application Support/Sublime Text 3/Packages/User/Preferences.sublime-settings
  2. 在json配置大括号下一行增加"always_prompt_for_file_reload": true,保存退出
  3. 准备好快捷键截屏 Cmd+Shift+3
  4. 激活plot.py代码窗口, 同时按截屏快捷键,截屏只是为了万一不弹出窗口,代码被冲的瞬间,还能截出来一部分代码。
  5. 我这里一切按照预想,看到sublime弹出file has changed on disk, do you want to reload it 当然选NO了!! 可以气定神闲地复制一下原来的代码,或者保存一下,再把当前屏幕内的代码重新刷回原来的plot.py文件中。

事情的缘由是这样的:
为了简便把adb pull和python脚本在mac的terminal中一次运行了。

  • 终端shell中执行while true; do echo ls |grep MyApp; sleep 2; done

adb pull /data/a.file && ./plot.py a.file

一次增加对比数据的操作中,把&&删了.
adb pull /data/b.file ./plot.py b.file

敲完后发现没画出图,稍作反应顿时惊呆,意识到python代码没了😂😂

默念一遍 出现文件异常时,千万什么都不要做,还有机会找回

目前用的编辑器是sublime text 3, 回想到到此时激活窗口还在terminal黑窗里,觉得sublime缓存的文件可能还有戏。首先看了/Users/yourname/Library/Application Support/Sublime Text 3/Cache,过滤之后发现没有什么代码缓存。 非常后悔升级后没有立即把local history修好。

然后就尝试了篇头的办法增加"always_prompt_for_file_reload": true,,激活sublime窗口瞬间敲下截屏快捷键。最终虚惊一场,利用这个弹出窗成功恢复了所有代码!! 截屏中也留存了一部分代码。 欢呼吧~

posted @ 2018-01-03 18:27  星河观  阅读(2683)  评论(0编辑  收藏  举报