A few people have asked me for more information on text states. An anonymous reader contributed the following in the comments of my previous post on the topic.
Using g+ and g- is very different than using u and ^r.
* Create new file
* (in normal mode) Type iOne - Esc
* Type oTwo - Esc
* Type oThree - Esc
* Type oFour - Esc
* Type oFive - Esc
* Type 2u
* Type oSix - Esc
* Type oSeven - Esc
Now you have an undo tree with 2 branches. Typing u only goes up the last branch. Using g- goes up by time - branch doesn't matter here.
Have a look in :help usr_32.txt for good explanation of using the undo tree.
Thanks to whomever contributed the tip!