The practical usage is it's aways possible to get back to a previous state you were in, which is pretty neat.
e.g. You can undo 5 changes, try something else and decide that you prefered the text before you started undoing things. In most programs with a linear undo history you've wiped out your previous changes but not in Vim.
You can hop about the branches of the undo tree using the g+ and g- commands but it's much easier to add an undo tree visualiser plugin such as the venerable old Gundo[2].
(Incidentally, the documentation is wonderful: ‘The only downside to this more advanced yet simpler undo system is that it was inspired by Vim. But, after all, most successful religions steal the best ideas from their competitors!’)
I just downloaded VSCode for the first time recently -- which I was delighted to find has a VIM mode. From what I read VSCode's VIM mode does not respect the undo tree of actual VIM.
Meanwhile the undo/redo tree is always there, ready to use and has no overhead. You can ignore it completely until you need it to save your arse.
Unfortunately, when you're at "now" you can't do ":later 30m" to see the future.
That's crazy! I've used vi/vim/neovim for so long, probably two decades, and I've never heard anything about this feature, yet so many cases this would have been helpful.
Must be hundreds of these features I still don't know about. What's the wildest less-known vim features people sit on and haven't shared with the rest of us yet? :)
Just today I was looking into a bug when I started worrying that it might be caused by a fairly recent improvement I made to the feature. I went to the file in question, went back two weeks with ":earlier 14d" then recompiled and confirmed the bug was already present without my change.
I miss elVis also. ViM should be banned from all distros because it is literally nag-ware and charity ware (Uganda 's children thing). 30 years later we still can't edit files bigger than RAM size unless you want to use swap file ...
Even commodore 64 had editors which could edit files bigger than RAM and WITHOUT ANY kind of swapping to the disk.
/rant
It's a two-line message on the startup screen. How does that bother you so much?
I'd go a step further and say because I know and use neovim, I'm also a vi user. Sue me :)
how?