最新写了一个python脚本,另外在终端上运行一个shell脚本循环记录一些性能、耗时参数。取出记录的数据,使用python pyplot强大的绘图功能来可视化,易用程度仅次于matlab。
本次文件覆盖杯具前1秒的状态
sublime text 3 打开了plot.py
激活窗口不在sublime
sublime升级一个版本,恰好Local history不工作
先上解决办法:
- 绝对不要切sublime窗口,vim打开sublime设置
vim /Users/youname/Library/Application Support/Sublime Text 3/Packages/User/Preferences.sublime-settings
- 在json配置大括号下一行增加
"always_prompt_for_file_reload": true,
保存退出 - 准备好快捷键截屏 Cmd+Shift+3
- 激活plot.py代码窗口, 同时按截屏快捷键,截屏只是为了万一不弹出窗口,代码被冲的瞬间,还能截出来一部分代码。
- 我这里一切按照预想,看到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窗口瞬间敲下截屏快捷键。最终虚惊一场,利用这个弹出窗成功恢复了所有代码!! 截屏中也留存了一部分代码。 欢呼吧~