在计算机崩溃之前,我在vim缓冲区中对文件foo.txt
进行了未保存的更改。运行vim -r
表明包含foo.txt
的目录中没有交换文件。
有没有办法恢复这些变化?
答案 0 :(得分:0)
Darn, okay. Is there a setting I could turn on to enable automatic writes
to a swap file on each change?
阅读:h swap
,特别是以下内容:
更新交换文件〜
交换文件在输入200个字符后或更新时更新 没有输入任何东西四秒钟。这只发生在缓冲区 改变了,而不是当你只是四处走动时。之所以没有 始终保持最新状态是这会减慢正常工作 太多了。您可以使用更改200个字符数 'updatecount'选项。您可以使用'updatetime'设置时间 选项。时间以毫秒为单位。写完交换后 文件Vim将文件同步到磁盘。这需要一些时间,尤其是 繁忙的Unix系统。如果您不想这样,可以设置'swapsync' 空字符串的选项。失去工作的风险变得更大 虽然。在一些非Unix系统(MS-DOS,Amiga)上,交换文件不会 写完了。
如果不想写入交换文件,可以将其关闭 通过将'updatecount'选项设置为0.在执行时也是如此 使用“-n”选项启动Vim。写作可以重新开启 将'updatecount'选项设置为非零。交换文件将是 在执行此操作时为所有缓冲区创建。但是在设定时 'updatecount'为零,不会删除现有的交换文件 只影响将在此之后打开的文件。