Vim 会读取交换文件(用于保存你的编辑数据的文件)并且提取原文的编辑碎片。如果一 切顺利,你会看到如下文字 (当然了,文件名会不一样):
Using swap file ".help.txt.swp" Original file "~/vim/runtime/doc/help.txt" Recovery completed. You should check if everything is OK. (You might want to write out this file under another name and run diff with the original file to check for changes) Delete the .swp file afterwards.
可以把这个文件与原文件作一下比较,看看恢复的效果如何。这方面 Vimdiff 可以帮很大 的忙(参见|08.7|)。注意用一个比较新的原文件来比较(你在计算机崩溃前最后保存过 的文件),并且检查有没有东西丢失了(由于某些问题导致 Vim 无法恢复)。 如果在恢复的过程中 Vim 显示出一些警告信息,注意小心阅读。这应该是很少见的。
最后所做的一些修改不能恢复是正常的。Vim 在你停止4秒不输入的时候才会更新交换 文件。这个时间可以通过 'updatetime' 和 'updatecount' 两个选项来调整。这样,如果 系统崩溃前 Vim 没有更新交换文件,最后一次更新后编辑的内容就会丢失。
Vim 尽可能保护你不要做傻事。有时你打开一个文件,天真地以为文件的内容会显示出 来。可是,Vim 却给出一段很长的信息:
E325: ATTENTION Found a swap file by the name ".main.c.swp" owned by: mool dated: Tue May 29 21:09:28 2001 file name: ~mool/vim/vim6/src/main.c modified: no user name: mool host name: masaka.moolenaar.net process ID: 12559 (still running) While opening file "main.c" dated: Tue May 29 19:46:12 2001
(1) Another program may be editing the same file. If this is the case, be careful not to end up with two different instances of the same file when making changes. Quit, or continue with caution.
(2) An edit session for this file crashed. If this is the case, use ":recover" or "vim -r main.c" to recover the changes (see ":help recovery"). If you did this already, delete the swap file ".main.c.swp" to avoid this message.