On 2020-03-04 13:00, Chris Jones wrote:
> Scenario:
> 
> - I open a file 
> - I make one big global change (C0)... say via substitute+regex
> - I proceed to make more changes (C1, C2, ... Cn).
> 
> While *still editing the file* I realize that the initial change
> (C0) was in error.
> 
> Can I undo the initial change (C0) and keep all the ensuing changes?
> 
> Or... 
> 
> Go back to the initial state of the buffer, and make vim reapply
> all the C1-Cn changes?
> 
> Standard vim only please, no plugins.

I don't think there's a native way to play back all the changes as a
rebase.  If I had a dire need to do as much, I'd do a little
do/undo/diff/patch tango, something like

  :w current.txt

then undo to C1

  :w c1.txt

then undo once more take you back to the pre-C0 change and save that:

  :w pre-c0.txt

Then, in the shell

  $ diff -u c1.txt current.txt > rest_of_the_changes.txt

and run that patch against the pre-c0.txt

You might be able to use git to checkin various points and then
use its rebasing to help you out.

But in pure vim?  Not much.

-tim


-- 
-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_use/20200304121950.7fbf49a1%40bigbox.attlocal.net.

Reply via email to