如何在vi / vim中返回(Ctrl + Z)


107

在普通的文本编辑器中[充分尊重Vim],当您执行讨厌的操作并想返回到以前的文本版本时,会使用快捷键Ctrl+ Z。像Word中的“返回”按钮。我想知道如何在Vim中实现这种行为。



1
Vim文档也非常好- :help undo例如,您会在此找到您的答案。
克里斯·摩根

2
在完全
涉足

1
谢谢大家,对此表示抱歉。下次必须阅读更多内容。
Slazer 2012年

1
在Linux上,vi / vim / gvim中的CTRL-Z表示转义至控制台,或将其置于后台。然后,您可以在控制台上执行任何操作,然后键入fg(前景)使您返回vim编辑会话。
mancocapac

Answers:



10

答案u(和许多其他答案)在中$ vimtutor


投票是因为我从未听说vimtutor
Paiusco

4

这是一个把戏。您可以映射Ctrl+ Z键。这可以通过编辑.vimrc文件来实现。在'.vimrc`文件中添加以下行。

nnoremap <c-z> :u<CR>      " Avoid using this**
inoremap <c-z> <c-o>:u<CR>

这可能不是首选方法,但可以使用。

** Ctrl+ Z在Linux中用于挂起正在进行的程序/进程。


1

仅在正常模式下,按:

  • u- 撤消
  • Ctrl+ r- 重做被撤销的更改(撤消索马里发展事务处)。

撤消和重做


我知道我的大部分答案都与已经存在的答案重复,但是根据文档,我的答案的附加值重做为Ctrl + r(小写r)。没人把它放在这里。另外,我试图使答案尽可能清楚。
simhumileco

0

在Mac上,您也可以使用命令Z,它将撤消。我不知道为什么,但是有时它会停止,如果您像我和vimtutor那样排在您需要学习的东西的最后,那么您可以关闭窗口并重新打开它,然后应该可以正常工作。


0

我现在有同样的问题,我解决了。您不再需要它了,所以我为其他人写信:

如果在Windows上使用gvim,只需将其添加到_vimrc中$VIMRUNTIME/mswin.vim behave mswin

否则就使用imap ...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.