1

我启用undodir了 , 以跟踪我在关闭 vim 会话后所做的更改。

我有时想编辑一个文件,进行一些更改,保存它,然后返回到该会话的原始文件。(这可能是可能的用例之一)

如果我undodir禁用了,我可以简单地继续点击u,直到它向我显示一条消息。

所以我想undodir默认在撤消/重做中被禁用,并且我应该有一个命令在需要时启用它。

必须始终在任一状态下跟踪对文件的所有更改。

这可能吗?

4

1 回答 1

2

据我了解文档,只有设置undodir什么都不做,除非undofile设置为true.

因此,我假设您要激活undofile某些文件。

首先想到的是一个模式,以便undofiletrue某些文件设置。但不幸的是,这不起作用。

但是,该问题出现在 vim 开发人员邮件列表中,并且在一月份提供了修复:http: //comments.gmane.org/gmane.editors.vim.devel/32896。此修复程序可能存在于当前资源中;因此,如果您想尝试,请获取最新的 vim 源,构建它并检查您是否可以使用模式行进行设置udf

在有包含该修复程序的官方版本之前,您可以使用undofile.vim. 它的描述摘录:

如果您只想对某些文件使用“撤消文件”,您会注意到不能在模式行中设置“撤消文件” ,或者一旦加载了缓冲区(因为此时不会加载现有的撤消文件)。Bram 建议使用 BufReadPre 自动命令,在加载缓冲区之前设置“撤消文件”。该脚本会为您执行这些步骤。

于 2012-08-10T08:33:42.173 回答