Reputation: 17140
In VIM is it possible to undo changes on or around a specific block of text? Lets say I make change A right above "if yes"
, then do changes B, C, D and E in other places on the file. Is it possible to tell vim "undo changes that were done with in +/- 10 lines from if yes
?
I've come across another question that suggest this isn't possible, or at least in vanilla vim. Does any know of any plugins that would allow for this behavior?
Upvotes: 5
Views: 2705
Reputation: 392893
@Zsolt's answer is probably very interesting, I'd have to get acquainted with that.
What I usually do is, doing something like
100g- (go back to history snapshot that contained the thing you want to restore)
yank your 'rescue' text using some method, e.g.
:12,17yank
999g+ (return to the tip of history)
use regular edit actions to restore the yanked lines into place.
Upvotes: 12
Reputation: 51593
With this plugin: http://www.vim.org/scripts/script.php?script_id=3304 you can easily move around the undo tree.
if yes
), mark it with ma
, V5j"by
). 'a
)b
register.Upvotes: 4