在进行重大更改之前,我意外地从vim中的旧的和过时的交换文件中“恢复”了该文件。我的变化似乎消失了。我已经尝试过探索撤消树,但仍然缺少大块的更改。无论如何我可以撤消恢复操作还是我注定了?
答案 0 :(得分:8)
以下内容适用于恢复文件,还包含撤消历史记录:
这可能会简化,但这对我有用。
PS:这不会为您提供磁盘和恢复版本文件之间更改的撤消历史记录,这些更改在历史记录中显示为一个大的编辑。
答案 1 :(得分:3)
意外恢复文件后,您只需输入:q!退出vim而不保存恢复的更改 - 这将保留原始文件和交换文件所在的位置。
下次打开文件时,您会看到相同的提示 - 按D删除交换文件,或者中止并手动查找(并可能删除同一位置的任何其他交换文件)
答案 2 :(得分:2)
我自己尝试过这种方法(启用了持久性撤消功能; Vim版本为7.3.823)。旧的更改仍在显示(在:undolist
中,虽然我通常使用像Gundo或Undotree这样的插件来显示它),但在尝试恢复时,我得到了
E438: u_undo: line numbers wrong
似乎Vim无法处理这种情况。请注意,您已收到警告;恢复明确警告:
Recovery completed. You should check if everything is OK.
E308: Warning: Original file may have been changed