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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/20200304121950.7fbf49a1%40bigbox.attlocal.net.
No comments:
Post a Comment