In Vim, I did too much undo. How do I undo this (that is, redo)?
Also check out :undolist, which offers multiple paths through the undo history. This is useful if you accidentally type something after undoing too much.
Vim documentation
<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}
Practically speaking, the :undolist is hard to use and Vim’s :earlier and :later time tracking of changes is only usable for course-grain fixes.
Given that, I resort to a plug-in that combines these features to provide a visual tree of browsable undos, called “Gundo.”
Obviously, this is something to use only when you need a fine-grained fix, or you are uncertain of the exact state of the document you wish to return to. See: Gundo. Graph your Vim undo tree in style
In command mode, use the U key to undo and Ctrl + r to redo. Have a look at http://www.vim.org/htmldoc/undo.html.