Vim旁路重做步骤

时间:2017-10-10 09:23:06

标签: vim

我想知道在通过 u Ctrl + r <遍历撤消/重做历史时是否可以绕过vim中的单个重做步骤/ KBD>

我知道很棒的vim的撤销树,但有时候只想避免单一错误/意外更改。

也就是说,例如,在进行一些复杂的更改并寻找上下文信息的同时,不小心偶然地点击某些键,例如~或(在可视模式下)U

在那种情况下,在注意到我破坏了一些东西之后,我通常使用撤销来快速查看我所做的最近的更改,因此我发现错误到位但我无法修复它,因为这样做,我会创建新的撤消分支我无法在下面的 undowed 的变化下重现,所以我必须反复按 Ctrl + r 直到最后一次更改被回复,然后手动找到错误(现在我知道它是什么)来解决它。

如果有一种方法可以“跳转”单个 Ctrl + r 以避免重放错误的更改,整个过程会变得更快。

1 个答案:

答案 0 :(得分:1)

不,那是不可能的。那个&#34;功能&#34;会要求Vim在内部存储撤消/重做作为要应用于文本的命令列表(以及如何对文件重新加载外部更改,或使用非幂等的(自定义)命令?)。

但是,有一个工作流程允许编辑和重放一系列命令:。如果您在宏中记录您的操作(例如qq),则可以停止录制,并编辑寄存器(在命令行上::let @q = '<C-r>q',或者粘贴到暂存缓冲区,编辑和然后再次拉扯)。然后,根据需要重播多次。