DRY is mostly bad. You couple a lot of things together by making them all share the same code and then a small change to that code breaks various unrelated components.
DRYing code repeated for the same reason is mostly good.
DRYing code coincidentally repeated for different reasons will sow code churn or inadvertent behavior shifts.
You're describing heaven for a maintenance programmer -- I'm only looking at the codebase because there's a bug in some component, I likely even have a stack trace. If can just read what that bit of code does top to bottom, fix the error in just that component, write a test and ship I'll send the original author chocolates.
Also, not all maintenance involves correcting inborn defects.
To first order :vimgrep is totally mechanical and brain-off repeat fix is super easy.