使用vim撤销文件恢复丢失的文件

9
我不小心删除了我花费几周时间配置的 .vimrc 文件。我仍然保留了撤销文件,我认为这是我能够恢复它的唯一方法。不幸的是,vim 现在不允许我执行撤销操作(我猜这是因为我的当前 vimrc 版本无法与最后一步撤销“修补”)。此外,vim 的撤销文件是编码的,所以我无法以人类可读的形式看到其内容。有一个步骤是我用 ggvGc 删除了所有的 vimrc,如果有一种方法可以解码 vimundo 文件,我认为我可以恢复它。有没有办法让我找回我的 vimrc?谢谢。

你有备份吗?如果没有,从撤销文件中恢复将非常困难甚至不可能。 - FDinoff
1
@FDinoff 不,我没有。为什么从撤销文件中获取它很困难?它应该可以被Vim读取,对吧?而且我在本地机器上没有设置任何加密。 - boh
2
https://dev59.com/q2Ml5IYBdhLWcg3wK0SA#18634061 - FDinoff
1
尝试在我上面链接的问题中查看Christian Brabandt的补丁。问题在于,如果撤销文件的内容与上次写入时不同,vim将忽略该文件。我不知道撤销文件如何存储在磁盘上。 - FDinoff
2个回答

8

2

所以,正如FDinoff建议的那样,这个补丁在这里对我来说确实有效。


4
好的,请立即进行备份。 - FDinoff
该补丁不适用于最近版本的 vim。我从 https://github.com/vim/vim/archive/v8.0.1272.tar.gz 检索了源代码,并创建了一个可以干净地应用的补丁。这是它的链接:https://gist.github.com/Rob--W/2cf28e472aeb6b6de6e478a96e278fc8 请注意,vimundo通常不包含恢复完整文件所需的足够数据,除非您执行了修改所有行的操作(即使这样,您也会获得操作之前的文件,而不是最终版本)。 - Rob W
有8.2版本的更新补丁。https://dev59.com/q2Ml5IYBdhLWcg3wK0SA#BmQqoYgBc1ULPQZFKLV8 - user202729

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接