您的位置:首页 > 其它

恢复未保存文档内容

2017-08-10 08:27 363 查看

概述

在用vim打开一个文件时,其会产生一个.filename.swap文件,用于保存数据,当文件非正常关闭时,可用此文件来恢复,当正常关闭时,此文件会被删除,非正常关闭时,不会被删除,所以提示存在.swap文件.
由于意外导致了还没正常保存文档就退出了编辑的页面,可能导致文档里新编辑的内容还没保存,这个时候要想办法进行恢复。这个在日常的工作中偶尔会出现,本文就这个问题的解决进行了通过实验,描述了恢复的办法

操作选项介绍

假设实验编辑中但是未保存的文件名是tt当重新编辑未保存的文件tt时,vimtt就会出现如下的页面,此时有5个选项。


选项O:虽然显示是只读模式,但是用root账号编辑后强制退出,还是能保存配置
选择E:此时编辑的文档内容是上一次保存前的内容,上次编辑但是没保存的内容暂时没有写入到该文档里面选项R:分为两个情况情况一:还没有做过任何保存,此时按R的话,就会导致恢复的内容,是上一次未保存的内容,上次编辑的内容将不会被保存。相当于运行了vim –r tt进行恢复情况二:再按R之前已经有对tt在此编辑保存过了,导致了tt此时已经和.tt.wap文件不一致了,比如,如果我通过O或者E对文档进行了编辑且保存过,此时如果还是选择R选项进行修改,会变成新的页面,如果在这个页面上编辑,且进行了保存,则会导致之前的文档内容全部清空,只保存最后这次按了R后编辑的内容。所以,看到空白的新页面,千万不要编辑,直接按q!退出,这个时候文档将还是上一次编辑保存的内容。操作的时候,需谨慎查看编辑器下方的提示内容,如下的内容,就表示.tt.swap已经不能恢复了。


以上两个情况,下一次打开还是一样会出现截图的内容。如果要使得截图的内容下次不再出现,在已经确保文件都已经恢复,且保存的情况下,删掉生成的.tt.swap文件即可。可用语句ls –a查看隐藏的文件。
选项Q退出,放弃编辑选项A,直接中断本次的命令,放弃编辑

实验模拟

情况一:实验中,我是通过crtl+z来实现为保存退出当前编辑模式的。所以我通过jobs可以查看到当前的后台挂起的任务,所以可以通过fg调出任务,新调出的任务为上次未保存时的内容,可以在该文档下wq!,则会将中断前编辑的内容也写到了tt这个文件里。通过这种方式恢复的话,则.tt.swap这个文件也会被自动删除了。(备注;ctrl+z的是将任务中止(暂停的意思),但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用fg/bg操作继续前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行.)情况二实验中,打开tt编辑中,然后在另一个窗口输入命令shutdown –h now将机器关机重新开机后,我们发现tt的文档里同样是没有保存上一次编辑的内容,同样在文件夹中,生成了.tt.swap的文件。此时运行vim –r tt,则会发现打开的新文件是上次关机前编辑但是未保存的内容,输入:wq!则可以恢复上次编辑的文档同样,保存后,下一次在此打开的时候,还是会出现如下的窗口,但是此时我们发现选项里多了一个D选项,delete it。按下D选项后,我们会进入上次恢复保存的文档里,在此编辑保存退出。下次编辑,我们文件夹下的.tt.swap已经丢失了,不会再出现如下的窗口。


情况三:
直接在虚拟机中将物理机关机,不通过命令来关机,模拟的是异常断电。该情况和情况二的恢复情况一样,通过vim –rtt来恢复,保存后再次编辑的时候把这个.swap文件删除即可

总结

可能会有各种莫名的未保存就退出编辑页面的情况,如果要恢复,注意窗口的提示,不要将本来的有的信息覆盖了,这样还不如不要恢复。因为可能这个文件等到要恢复的时候已经被多次编辑并保存了,这个时候恢复swap文件,可能导致丢失大量的信息,得不偿失。友情提醒:恢复前务必要注意看提示进行恢复操作!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  异常 文件恢复
相关文章推荐