我是 vim 的专业用户,但是不知何故,我似乎还没有完全搞清楚基于时间的撤消的用途,或者我可能不太喜欢它。有没有办法可以撤消由Ctrl- w W3 导致的删除?我将非常感谢您的帮助。
谢谢。
答案1
:inoremap <C-w> <C-g>u<C-w>
<C-g>u
将撤销点设置为当前点。然后<C-w>
执行删除工作。
答案2
提示标题提到了Ctrl+ ,它与+U类似但不完全相同。不过,两者都可以使用相同的方法。CtrlW
您无法撤消这些删除。但是,您输入的内容仍在寄存器中。您可以使用列出所有寄存器(或仅显示寄存器)的命令来
.
确认这一点(按下后Esc返回正常模式)。例如,您可以使用鼠标从寄存器显示中复制缺失的文本。:reg
:reg .
.
不幸的是,简单地粘贴
.
寄存器不会有帮助,因为它会重复Ctrl-u或Ctrl-w并再次删除文本。但是,您可以使用另一个寄存器(a
以下寄存器)::let @a = @. "aP
以上将粘贴您最后插入的所有文本,包括意外删除的内容。