Double stick tape.
Seriously, put it where they scratch, they won't like it.
Usually won't hurt most fabrics. After a while, you can take it off.
They still need to be given something they will and can scratch though. Think of something similar to the couches they now destroy.
I got an OLD cat. I don't plan on buying a new rug for anywhere in my house til she dies. That's just the way of it after a certain age.
Vomit, Oh yeah, she gots it. I think it's an age thing.
Buying good food is good for the cat and good for you cause it fills them up and they don't beg for more. (Okay, that was the theory but now my cat can't even remember that she just ate...)
This is what I feed mine.