我启用undodir
了 , 以跟踪我在关闭 vim 会话后所做的更改。
我有时想编辑一个文件,进行一些更改,保存它,然后返回到该会话的原始文件。(这可能是可能的用例之一)
如果我undodir
禁用了,我可以简单地继续点击u
,直到它向我显示一条消息。
所以我想undodir
默认在撤消/重做中被禁用,并且我应该有一个命令在需要时启用它。
必须始终在任一状态下跟踪对文件的所有更改。
这可能吗?
我启用undodir
了 , 以跟踪我在关闭 vim 会话后所做的更改。
我有时想编辑一个文件,进行一些更改,保存它,然后返回到该会话的原始文件。(这可能是可能的用例之一)
如果我undodir
禁用了,我可以简单地继续点击u
,直到它向我显示一条消息。
所以我想undodir
默认在撤消/重做中被禁用,并且我应该有一个命令在需要时启用它。
必须始终在任一状态下跟踪对文件的所有更改。
这可能吗?
据我了解文档,只有设置undodir
什么都不做,除非undofile
设置为true
.
因此,我假设您要激活undofile
某些文件。
首先想到的是一个模式行,以便undofile
为true
某些文件设置。但不幸的是,这不起作用。
但是,该问题出现在 vim 开发人员邮件列表中,并且在一月份提供了修复:http: //comments.gmane.org/gmane.editors.vim.devel/32896。此修复程序可能存在于当前资源中;因此,如果您想尝试,请获取最新的 vim 源,构建它并检查您是否可以使用模式行进行设置udf
在有包含该修复程序的官方版本之前,您可以使用undofile.vim
. 它的描述摘录:
如果您只想对某些文件使用“撤消文件”,您会注意到不能在模式行中设置“撤消文件” ,或者一旦加载了缓冲区(因为此时不会加载现有的撤消文件)。Bram 建议使用 BufReadPre 自动命令,在加载缓冲区之前设置“撤消文件”。该脚本会为您执行这些步骤。