Vim 需要时手动启用undodir

Vim 需要时手动启用undodir,vim,Vim,我已启用了undodir,以跟踪即使在关闭vim会话后所做的更改 我有时想编辑一个文件,进行一些更改,保存它,然后返回到该会话的原始文件。(这可能是一个可能的用例) 如果我禁用了undodir,我可以一直点击u,直到它显示一条消息 因此,我希望默认情况下在undo/redo中禁用undodir,并且我应该有一个命令在需要时启用它 必须始终在任一状态下跟踪对文件的所有更改 这可能吗?据我对文档的理解,只有设置为true时才起作用 因此,我假设您希望为某些文件激活undofile 首先想到的是,为某

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

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

如果我禁用了
undodir
,我可以一直点击
u
,直到它显示一条消息

因此,我希望默认情况下在undo/redo中禁用
undodir
,并且我应该有一个命令在需要时启用它

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


这可能吗?

据我对文档的理解,只有设置为
true
时才起作用

因此,我假设您希望为某些文件激活
undofile

首先想到的是,为某些文件将
undofile
设置为
true
。但不幸的是,这不起作用

然而,这个问题出现在vim开发者邮件列表中,并且在1月份提供了一个修复程序:。此修复可能存在于电流源中;因此,如果您想尝试,请获取最新的vim源代码,构建它并检查是否可以使用modeline进行设置

在正式版本包含该修复之前,您可以使用。其描述摘录:

如果您只希望对某些文件使用“undofile”,您会注意到,“undofile”不能在modeline中设置,或者在加载缓冲区后设置(因为此时不会加载现有的undofile)。Bram建议使用BufReadPre autocmd,在加载缓冲区之前设置“undofile”。此脚本为您执行这些步骤


你是说
undofile
选项吗?