我无法在任何地方找到这个问题,所以这里是为了下一个人。
不知怎的,我的vim是高度定制的,有大量的插件比我调试的要复杂得多,间歇地楔入一个状态,如果我点击'u',它说'已经是最古老的变化'。当我点击CTRL-R时,它说“已经在最新的变化”。但它不会撤消或重做任何东西。
非常令人沮丧。
答案 0 :(得分:3)
当undolevels为负数时会发生这种情况,这显然是为了防止vim撤消使用内存。出于某种原因,我的未成年人被设定为-123456。
将你的未成年人设置为一个大的正数,如999999,一切都将恢复正常。
您可能还想检查.vim文件树等,如果您使用插件和状态来执行此操作,以保持每个文件的设置,他们没有'setlocal'undolevel设置他们。我不得不清除几十个这样邪恶的配置。