8 ms·
Gundo.vim - An undo tree visualization plugin for Vim
- stevelosh 16y agoAbout a month ago I wrote[1] that I wanted something like this. I got tired of waiting, so I put it together myself. [1]: http://stevelosh.com/blog/2010/09/coming-home-to-vim/#gundo http://stevelosh.com/blog/2010/09/coming-home-to-vim/#gundo
- akkartik 16y agoBTW, I see you want vertical splits by default, just like me. Some of us on the vim list have been working on a new option called splitvertical that would open splits vertically by default (You'd use :horizontal to override). I'd love to have you try out the patch and send bug reports (it's been my production editor for a few weeks). https://groups.google.com/group/vim_dev/msg/679fee5026967b82 https://groups.google.com/group/vim_dev/msg/679fee5026967b82
- kilowatt 16y agoReal question: why is this really necessary? Creating a vertical split quickly is something I do often, all day, with ctrl-w v.
- icco 16y agoBecause plugins usually open split buffers that are horizontal by default.
- akkartik 16y agoThere's a bunch of different commands in vim that open new split windows. :help, :diffsplit, C-], and so on. I'd rather specify my split policy once rather than remember to type :vert or C-w v everytime. (I only found out about C-w v and C-w s after reading OP, so that exacerbated the problem.) Imagine new plugins that split windows to open tree explorers or previews or whatnot. I'd like splits they create to automatically adopt my policy.
- kgroll 16y agoThanks a lot Steve, this will definitely come in handy. Quick question - It looks like this requires python support for vim. What would happen if I didn't have python compiled in, and then tried to use this plugin? (You can check for yourself with :version)
- stevelosh 16y agoEverything explodes. It's on my list of things to fix: http://bitbucket.org/sjl/gundo.vim/issue/6/errors-on-startup-when-python-is-not http://bitbucket.org/sjl/gundo.vim/issue/6/errors-on-startup...
- sp4rki 16y agoFunny I was thinking about the same thing yesterday. But alas I decided I'd rather sleep than make it myself so kudos and thanks a bunch, it's probably a really helpful plugin.
- JeffJenkins 16y agoDoes vim have the undo tree built in, or this this plugin also providing that functionality? I've never seen an editor which represented the history as a tree instead of a line.
- sgk284 16y agoBuilt in. You can walk the tree or just tell vim to put you back to how the document was at a certain time. (i.e. Put the document how it was 1 minute and 20 seconds ago) If you dont't know vim, I highly recommend learning it. (or emacs, both are great)
- deleted 16y ago[deleted]
- kgroll 16y agoThe tree is built in. There's a really good explanation (with "pictures") of the tree behavior detailed here: http://vimdoc.sourceforge.net/htmldoc/usr_32.html http://vimdoc.sourceforge.net/htmldoc/usr_32.html
- uggedal 16y agoVim does support undo branches/trees internally: http://vimdoc.sourceforge.net/htmldoc/undo.html#undo-branches http://vimdoc.sourceforge.net/htmldoc/undo.html#undo-branche...
- akkartik 16y agoEmacs has this too; http://www.emacswiki.org/emacs/UndoTree http://www.emacswiki.org/emacs/UndoTree refers to a builtin variant. Signed, a vim user
- chrisbra 16y agoThere was already the histwin plugin available. (http://www.vim.org/scripts/script.php?script_id=2932 http://www.vim.org/scripts/script.php?script_id=2932)
- stevelosh 16y agoYep, Gundo is inspired by histwin. I got the "playback" idea from it. Histwin only seems to show the "leaves" of the undo tree, much like :undolist. For visual people like me I just can't grok that as well as seeing it all drawn out.
- elbenshira 16y agoWhen I try using this, my macvim blows up: http://img714.imageshack.us/img714/147/screenshot20101019at220.png http://img714.imageshack.us/img714/147/screenshot20101019at2... Any ideas?
- stevelosh 16y agoLooks like you have an older version of Vim. Gundo requires 7.3's new undotree() function. MacVim definitely has a snapshot with 7.3, so grabbing that should fix things.
- CountHackulus 16y agoThis is great, but would be even better with Git integration. To have a visual representation in vim of my git branches would be glorious.
- Afton 16y agoThis is an idea that I've had in the back of my head for a few years. Tying the undo stack to source control so that you can trivially walk up and down versions extending far into the past. No more "Already at oldest change" messages. I've never got much past "I should do that someday" though.