How to go back (ctrl+z) in vi/vim
Asked Answered
U

6

188

In normal text editors [with all due respect to Vim] there is a shortcut Ctrl+Z when you have done something nasty and want to return to the previous version of the text. Like BACK button in Word. I wonder how can you achieve this behaviour in Vim.

Unconstitutional answered 15/9, 2012 at 9:26 Comment(5)
vim.wikia.com/wiki/Undo_and_RedoBoice
The Vim documentation is also very good - :help undo will find you your answer on this, for example.Censure
before diving into vim completely, I suggest you go through the (interactive) tutorialLaband
Thank you all and sorry for this q. Must read more next time.Unconstitutional
on linux, CTRL-Z in vi/vim/gvim mean escape to the console, or put this in the background. you then do whatever you want on the console and type fg (foreground) to bring you back into vim edit session.Tannen
G
301

You can use the u button to undo the last modification. (And Ctrl+R to redo it).

Read more about it at: http://vim.wikia.com/wiki/Undo_and_Redo

Girl answered 15/9, 2012 at 9:27 Comment(1)
I map U to redo so I can undo / redo quickly, the entire edit history if necessary, in vimrc: nnoremap U <C-R>Junction
W
18

Just in normal mode press:

  • u - undo,
  • Ctrl + r - redo changes which were undone (undo the undos).

Undo and Redo

Weatherwise answered 22/3, 2019 at 2:32 Comment(1)
I know that most of my answer is duplicated with those already present, but the value added of my answer is redo as Ctrl + r (lower case r) based on the documentation. Nobody before put it here. In addition, I tried to make the answer as clearly as possible.Weatherwise
N
15

The answer, u, (and many others) is in $ vimtutor.

Nonstop answered 15/9, 2012 at 9:35 Comment(1)
up vote only because I've never heard of vimtutor beforeHyperbolism
T
9

Here is a trick though. You can map the Ctrl+Z keys. This can be achieved by editing the .vimrc file. Add the following lines in the '.vimrc` file.

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

This may not the a preferred way, but can be used.

** Ctrl+Z is used in Linux to suspend the ongoing program/process.

Tullius answered 20/10, 2016 at 4:41 Comment(0)
F
0

On a mac you can also use command Z and that will go undo. I'm not sure why, but sometimes it stops, and if your like me and vimtutor is on the bottom of that long list of things you need to learn, than u can just close the window and reopen it and should work fine.

Ferreous answered 4/3, 2014 at 6:14 Comment(0)
Z
0

I had the same problem right now and i solved it. You must not need it anymore so I write for others:

if you use gvim on windows, you just add this in your _vimrc: $VIMRUNTIME/mswin.vim behave mswin

else just use imap...

Zane answered 8/2, 2017 at 16:7 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.