【问题标题】:Why does vim always say 'Already at oldest change' when I try to undo?当我尝试撤消时,为什么 vim 总是说“已经在最旧的更改”?
【发布时间】:2015-10-03 22:34:57
【问题描述】:

我在任何地方都找不到这个问题,所以这是给下一个人的。

不知何故,我的 vim 是高度定制的,其中包含大量比我想调试的复杂得多的插件,它会间歇性地陷入一种状态,如果我点击“u”,它会显示“已经在最旧的更改”。当我按 CTRL-R 时,它说“已经在最新的变化中”。但它不会撤消或重做任何事情。

非常沮丧。

【问题讨论】:

    标签: vim undo


    【解决方案1】:

    当 undolevels 为负数时会发生这种情况,这显然是用来防止 vim undo 耗尽内存。出于某种原因,我的撤消级别设置为 -123456。

    将您的撤消级别设置为一个较大的正数,例如 999999,一切都会恢复正常。

    您可能还想检查您的 .vim 文件树等,如果您正在使用执行此操作的插件和状态,以在每个文件的基础上保留设置,它们内部没有“setlocal”撤消级别设置他们。我必须清除几十个这样的邪恶配置。

    【讨论】:

    • 根据 'undolevels' 的帮助,局部值 -123456 告诉 vim 使用全局撤消级别设置。
    • 然而,我按照我描述的方式改变了它来解决这个确切的问题。您是否做过任何实验来验证帮助与现实的一致性?
    猜你喜欢
    • 1970-01-01
    • 2013-11-20
    • 1970-01-01
    • 2018-04-04
    • 2013-07-29
    • 2021-07-15
    • 2021-12-18
    • 2013-05-09
    • 1970-01-01
    相关资源
    最近更新 更多