Undo Tree
A while ago, when I played around with E Text Editor, I was impressed by what they call a “Personal Revision Control”. It’s a nice concept, where instead of linear list of changes, which you can undo and redo, you can have branches.
For example, if you type “one”, then change it to “two”, then undo back to “one” and change it to “three”. In a typical text editor, now you would be able to go back to “one”, but not “two”. With E, you could switch between all changes, because it creates a new branch, when you go back and add a change.
Recently I discovered that Vim has had a feature like this (sans the pretty UI) for a long time, it’s called “undo tree”. Check out the documentation, but basically you can view branches with :undolist and time travel with :earlier and :later.
