vim:恢复文本文件“已经在最旧的更改”

时间:2018-02-10 08:44:16

标签: vim

我正在使用vim来编辑.sh文件。上次,我正在进行更改:“E297:在交换文件中写入错误”,我意外地设法删除了内容并保存。

现在,我所拥有的只是.sh .sh~ .su~ .sv~.sw~.sy~.sz~具有空内容的文件和“E297:交换文件中的写入错误”消息。当我这样做:你说:“已经在最古老的变化”。

当我这样做时:恢复,它说:“E305:找不到交换文件”

如何恢复我的文件?感谢

1 个答案:

答案 0 :(得分:0)

在这种情况下,可以使用格式为.filename.sh.swp的交换文件恢复原始文件。这些是Vim创建的文件,以便在发生潜在崩溃时进行备份。要恢复原始文件,请尝试以下步骤:

  1. 在当前目录中查找交换文件(特定文件可能有多个):

    ls -a
    
  2. 从终端打开Vim中的第一个交换文件:

    vi .filename.sh.swp
    

    或者,使用vim启动Vim并使用:e .filename.sh.swp编辑交换文件。

  3. 在交换文件类型:recover内。现在Vim会将恢复的文件加载到新缓冲区。如果这是您需要的文件,则只需保存文件:w

  4. 可能是恢复的文件不是filename.sh的最新版本,在这种情况下,使用不同的交换文件重复上面的步骤2和3,例如.filename.sh.swo。恢复所需文件后,删除交换文件。

    这些帮助页面也与恢复文件相关:     :帮助交换     :帮助恢复     :帮助e305