撤消使用 vim 重新加载新缓冲区

Ste*_*hen 3 vim

我用 gvim 打开了一个文件,它问我是否要重新加载当前缓冲区,因为它检测到文件的更新版本。我接受了,但事实证明新缓冲区不是我想要的。有没有办法恢复旧缓冲区?vim -r不幸的是,磁盘上的文件(以及我使用 查看的 swp 文件)包含新缓冲区。

Chr*_*ndt 5

如果您的缓冲区的行数少于'undoreload'设置,则其内容将在重新加载之前存储在撤消树中。这意味着,一个简单的ug-应该让你的缓冲区内容回来。像我的 histwin 插件或著名的 Gundo 或 undotree 插件这样的插件也可能会有所帮助。

请注意,这需要至少 7.3 或更高版本的 Vim 才能工作。较旧的 Vims 不会在重新加载时存储缓冲区状态。