在Vim中,我做了太多撤销操作。我如何撤销这个(即,重做)?


当前回答

使用VsVim for Visual Studio?

我在尝试VsVim时遇到了这个问题,它为Visual Studio中的Vim命令提供绑定。

我知道在Vim本身的Ctrlr,但这个特殊的绑定不工作在VsVim(至少不是在我的设置?)

然而,真正起作用的是命令:red。这比上面的稍微麻烦一点,但当你真的需要它时,它仍然是好的。

其他回答

Vim文档

<Undo>      or                  *undo* *<Undo>* *u*
u           Undo [count] changes.  {Vi: only one level}

                            *:u* *:un* *:undo*
:u[ndo]         Undo one change.  {Vi: only one level}

                            *CTRL-R*
CTRL-R          Redo [count] changes which were undone.  {Vi: redraw screen}

                            *:red* *:redo* *redo*
:red[o]         Redo one change which was undone.  {Vi: no redo}

                            *U*
U           Undo all latest changes on one line.  {Vi: while not
            moved off of it}

参考Vim文档中的“撤消”和“重做”部分。

:red[o](重做一个已取消的更改)和{count} Ctrl+r(重做{count}已取消的更改)都是可以的。

同样,:early {count}(转到旧文本状态{count}次)总是可以替代撤销和重做。

首先按Esc键退出编辑模式。

然后,

对于撤销,使用你想撤销的任意次数的u键。

重做时,使用Ctrl +r键

CTRL + r

“r”是小写的。

使用方法:早/:后来。重做所有你需要做的事情

later 9999999d

(假设您在9999999天前第一次编辑该文件),或者,如果您记得当前撤消状态和需要撤消状态之间的差异,请分别使用Nh、Nm或Ns表示小时、分钟和秒。+:later N<CR> <=> Ng+和:later Nf用于文件写入。