在 Vim 中撤消 Ctrl-w

在 Vim 中撤消 Ctrl-w

我是 vim 的专业用户,但是不知何故,我似乎还没有完全搞清楚基于时间的撤消的用途,或者我可能不太喜欢它。有没有办法可以撤消由Ctrl- w W3 导致的删除?我将非常感谢您的帮助。

谢谢。

答案1

:inoremap <C-w> <C-g>u<C-w>

<C-g>u将撤销点设置为当前点。然后<C-w>执行删除工作。

答案2

提示标题提到了Ctrl+ ,它与+U类似但不完全相同。不过,两者都可以使用相同的方法。CtrlW

从意外Ctrl+中恢复U

您无法撤消这些删除。但是,您输入的内容仍在寄存器中。您可以使用列出所有寄存器(或仅显示寄存器)的命令来.确认这一点(按下后Esc返回正常模式)。例如,您可以使用鼠标从寄存器显示中复制缺失的文本。:reg:reg ..

不幸的是,简单地粘贴.寄存器不会有帮助,因为它会重复Ctrl-uCtrl-w并再次删除文本。但是,您可以使用另一个寄存器(a以下寄存器):

:let @a = @.
"aP

以上将粘贴您最后插入的所有文本,包括意外删除的内容。

相关内容