[Vimpulse] status of vimpulse-connect-undos
I've spent the last couple days updating my ancient personal viper/Vimpulse configuration to the current devhead. Pretty happy, especially with these: - working visual mode - text objects - /- and ?-style searching integrated with isearch for better highlighting So, great work. :-) It's really nice to see development moving forward again. Now, the single impacting regression I've run up against so far is with undo. Unlike Vim and my old version of Vimpulse, reverting a change with e.g. "cw" requires two undos instead of one. This is a pretty significant deviation, at least for my workflow. I scanned through the code and saw vimpulse-connect-undos, currently disabled because of a dependency on undo-tree.el. A couple questions: 1. What makes undo-tree.el preferable to redo.el, for Vimpulse's purposes? 2. Is fixing "cw" and friends a priority, or is it something that users of Vimpulse have learned to live with? Thanks, Stephen
Stephen Bach <[email protected]> writes: [Disclaimer: this reply only expresses my own opinion.] <snip>
Now, the single impacting regression I've run up against so far is with undo. Unlike Vim and my old version of Vimpulse, reverting a change with e.g. "cw" requires two undos instead of one. This is a pretty significant deviation, at least for my workflow.
I scanned through the code and saw vimpulse-connect-undos, currently disabled because of a dependency on undo-tree.el. A couple questions:
1. What makes undo-tree.el preferable to redo.el, for Vimpulse's purposes?
undo-tree.el provides undo tree functionality. Vim provides undo tree functionality. Vimpulse emulates Vim.
2. Is fixing "cw" and friends a priority, or is it something that users of Vimpulse have learned to live with?
I actually like Emacs' undo better, i.e. I like the current behaviour better than Vim's more extensive undo steps -- it's trivial to hit `u' twice instead of once, whereas it's non-trivial (impossible AFAIK) to only undo a part of an undo step. I personally would just get rid of the currently defunct vimpulse-connect-undos code entirely. OTOH, Vimpulse emulates Vim, so you can argue it should restore the bigger undo steps. Štěpán
On Sat, Jul 10, 2010 at 10:42:49AM +0200, Štěpán Němec wrote:
Stephen Bach <[email protected]> writes:
1. What makes undo-tree.el preferable to redo.el, for Vimpulse's purposes?
undo-tree.el provides undo tree functionality. Vim provides undo tree functionality. Vimpulse emulates Vim.
Ah, I guess it's just not something I use in my regular workflow.
2. Is fixing "cw" and friends a priority, or is it something that users of Vimpulse have learned to live with?
I actually like Emacs' undo better, i.e. I like the current behaviour better than Vim's more extensive undo steps -- it's trivial to hit `u' twice instead of once, whereas it's non-trivial (impossible AFAIK) to only undo a part of an undo step. I personally would just get rid of the currently defunct vimpulse-connect-undos code entirely.
OTOH, Vimpulse emulates Vim, so you can argue it should restore the bigger undo steps.
It may be something I could get used to, except I switch between Vim and Emacs regularly and the dissonance becomes apparent. Also, I think I prefer the idea of "cw" being an atomic action as opposed to "dw i".
On 2010-07-09 20:50, Stephen Bach wrote:
So, great work. :-)
Thanks!
A couple questions:
1. What makes undo-tree.el preferable to redo.el, for Vimpulse's purposes?
:undolist uses undo-tree.el.
2. Is fixing "cw" and friends a priority, or is it something that users of Vimpulse have learned to live with?
Both. :) I've fixed the undo in commit [99fb1aaa1e]. However, since some users have indeed grown used to the old behavior, I've made it contingent on the customization variable `vimpulse-want-change-undo'. For the old, fine-grained undo, add (setq vimpulse-want-change-undo nil) to .emacs. -- Vegard
On Sun, Jul 11, 2010 at 03:58:43PM +0200, Vegard Øye wrote:
2. Is fixing "cw" and friends a priority, or is it something that users of Vimpulse have learned to live with?
Both. :)
I've fixed the undo in commit [99fb1aaa1e]. However, since some users have indeed grown used to the old behavior, I've made it contingent on the customization variable `vimpulse-want-change-undo'. For the old, fine-grained undo, add
(setq vimpulse-want-change-undo nil)
to .emacs.
Works great, thanks!
participants (3)
-
Stephen Bach -
Vegard Øye -
Štěpán Němec