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](https://stackoverflow.com/questions/2236099/how-can-i-undo-all-changes-to-a-block-of-text-in-vim) that suggest this isn't possible, or at least in vanilla vim. Does any know of any plugins that would allow for this behavior?