Vim undo tree visualization
I wrote previously about an awsome plugin to give Emacs Vim-style undo trees.
Vim's undo trees are the best thing since sliced bread, but the interface for browsing through the tree is not pleasant. The Emacs undo-tree library has a way to visualize the tree and move through it with your keyboard, which solves this problem.
But now, thanks to Steve Losh, Vim has an undo-tree visualizer too. Delicious. Though it's still beta and promises to eat your babies, it seems to work pretty well. I think the diff view of the changes for the undo is a really good idea.
Thus continues the eternal Vim/Emacs arms race.


13 Comments
Thanks for mentioning this nice plugin. Now all I am looking for to make the undo feature really useful, is some kind of merging.
For example, I changed lines A and B and later discover that I want to revert line A to some earlier state. But, as I changed line B in-between, this will also revert line B. Now what I'm looking for is the ability to redo exactly the changes x and y to get my line B back :) without all the changes on the line.
Oooh, any plans for this to become integrated or will it stay a plugin?
Hello, what kind of font do you use in terminal?
really nice font indeed :)
It's not a terminal, it's gvim. The font is Consolas 12.
Necoro: That sounds complicated. I think there comes a point where it's less thinking and less typing to re-type what you want rather than use the undo system. An editor's undo feature isn't a full-fledged VCS.
Dion Moult: You'd have to ask the author of the plugin. But I'd be surprised if this was integrated. Vim core seems to try to stay lean.
That could be useful, VIM is neat.
@Necoro: I don't think I'll be adding true "merging" because Vim doesn't have a way to record where merges happened, but cherry-picking single changes (or multiple visually selected ones) is definitely on the list.
@Dion Moult: No. The bulk of it is in Python and would need to be ported, plus it's a fairly heavyweight, esoteric feature. I'd be very surprised if it happened.
Hey mate, things have been going slowly lately it seems. Hope everything's fine and you've not given up blogging!
Yeah I've just been busy with work etc. I'm glad someone cares. I have some things to blog about, just waiting for time to write it up.
I will add another voice to those missing your posts. I really enjoy your blog, but I certainly understand the "busy with work" stuff. Best wishes for the new year!
Has an screencast[1] @vimcasts about gundo
1 - http://vimcasts.org/episodes/undo-branching-and-gundo-vim/
Neat. I like that vim gets more emacs-like ;)
As for undo-tree, it is very good for managing local changes, give it a try emacsers out there!
Cheers,
Ruben
@Necoro
Emacs has `undo-in-region', which sounds like it might be close to the behaviour that you want (and which the emacs undo-tree implementation supports). I'm not sure if there's a vim equivalent or not.
Speak your Mind
Preview