恢复不小心误覆盖的代码文件 (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 echols |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窗口瞬间敲下截屏快捷键。最终虚惊一场,利用这个弹出窗成功恢复了所有代码!! 截屏中也留存了一部分代码。 欢呼吧~

原文地址:https://www.cnblogs.com/Deep-Learning/p/8185105.html

时间: 2024-10-11 05:47:43

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

github不小心同步覆盖了本地文件

昨天不小心github的commit还没push就同步了,导致本地文件被覆盖,一度以为没救了. 后来得微博 @空非无和 @柳烟堆雪 指点,用git reflog 恢复了文件. 事情是这样的... 我在两个电脑上修改一个项目,A修改文件a,B修改文件b.然后我干了下面这些事,按时间顺序... 1. A上 git commit 2. A上 git push 3. B上 git commit 4. B上 git pull 然后...B上修改的b就被覆盖了... 而且git log已经找不到第3步的co

误删除或误格式化后的文件恢复

格式化的原理 当计算机内的文件被有意无意的删除.或遭到病毒破坏.分区被格式化后,若想恢复这些已丢失的文件,均可使用本功能.实际上,操作系统在删除文件时,只是将被删除文件打上了"删除标记",并将文件数据占用的磁盘空间标记为"空闲".文件数据并没有被清除,还静静地"躺"在磁盘上.只要删除文件后没有建立新的文件,操作系统没有写入新的数据,这些被删除的文件数据就不会被破坏,就有机会通过一定的技术手段将它们"抢救"出来. 格式化操作执行

小心Windows7的UTF-8代码页

目 录 第1章 小心Windows7的UTF-8代码页    1 1.1 UTF-16与UTF-8相互转换    1 1.1.1 使用Windows API    1 1.1.2 自己编码    1 1.2 测试代码    4 1.3 测试结果    5 第1章 小心Windows7的UTF-8代码页 1.1 UTF-16与UTF-8相互转换 发现Windows7的UTF-8代码页有问题的根源就在于UTF-16与UTF-8的相互转换. 1.1.1 使用Windows API 使用Windows

Java 程序 关于Properties 类使用Store方法时不能会覆盖以前Properties 文件的内容

F:\\Demo.properties 文件内容: #\u65B0\u589E\u4FE1\u606F#Wed Sep 14 11:16:24 CST 2016province=广东tt=近蛋city=佛山市 java代码: public static void test() throws IOException {        FileWriter writer = new FileWriter("F:\\Demo.properties");        FileReader r

利用 BBED 恢复非归档模式下 OFFLINE 数据文件

今天来模拟一个非归档模式下恢复OFFLINE数据文件的场景,主要有2种情况: 一种是在线日志没有被覆盖,另一种是在线日志被覆盖. 第一种情况比较简单,数据库自身就能处理,而第二种情况稍显复杂,但也并不难,下面开始整个实验过程: 一.在线日志没有被覆盖的场景 --切换数据库到非归档模式 SQL> archive log list Database log mode       Archive Mode Automatic archival       Enabled Archive destina

目标代码文件、可执行文件和库

C程序的执行过程可分为:编辑.编译.连接.运行. 将程序源代码转换为可执行文件,需要编译与连接这两个步骤.编译器将源代码转换为中间代码,然后链接器将此中间代码与其他代码结合起来,生成可执行文件.同时,链接器将你的程序与预编译的库代码结合起来. 目标代码文件所缺少的第一个元素是一种叫启动代码的东西(start-up code),此代码相当于你的程序与操作系统之间的接口. 缺少的第二个东西是库例程的代码,也称为函数. 而链接器的作用就是将目标代码.启动代码和库代码结合在一起,并放在单个文件里,这个文

001-目标代码文件、可执行文件和库

C编程的基本策略是使用程序将源代码文件转换为可执行文件.C分两步完成这一工作:编译和链接. 编译器将源代码转换为中间代码,链接器将此中间代码与其他代码结合起来生成可执行文件. 中间文件的形式有多选择.最一般的选择是将源代码转换为机器语言代码,将其结果放置在一个目标代码文件中. 目标代码文件缺少的元素:启动代码:库例程代码 链结器的作用是将目标代码,系统的标准启动代码和库代码结合在一起,形成可执行文件.

Less开发指南(三)- 代码文件跟踪调试

案例背景:在大型网站中,css样式划分为多个模块文件,如reset.css,layout.css,skin.css等等(颗粒化越小,样式重用率越高),页面需要的时候引入它们即可! 回到less项目中这里,我们也可以将划分为 reset.less,layout.less,skin.less等,然后在本页面样式(如index.less)嵌入它们(嵌入的方式,就减少了多个HTTP请求,性能相对好,也可以了解为合拼),代码如下: index.less @import 'block/reset.less'

C基础——目标代码文件、可执行文件和库

目标代码文件.可执行文件和库 C编程的基本策略是使用程序将源代码文件转换为可执行文件,此文件包含可以运行的机器语言代码.C分两步完成这一工作:编译和链接.编译器将源代码转换为中间代码,链接器将此中间代码与其他代码相结合来生成可执行文件.C使用被划分为两部分的这一方法使程序便于模块化.我们可以分别编译各个模块,然后使用链接器将编译过的模块结合起来.这样,如果需要改变一个模块,则不必重新编译所有其他模块.同时,链接器将自己的程序与预编译的库代码结合起来. 中间文件的形式有多种选择.最一般的选这,同时