Oh, just a spot cleaning? Regular Dawn dish soap (squirted on the vomit spot), a small scrub brush, rag, and a bucket of hot water. Cheap and safe.
I find this method just as good if not better than using some dedicated spot cleaner. You can also use a little laundry detergent but it will take a little more effort to rinse. And remember to not use too much, it only takes a tiny bit.
For larger cleanings you can use regular carpet shampooer detergents, just remember to rinse it out very thoroughly. There are also cleaners for shamppoers with enzymes added to help with pet "smells" and stains.
Whatever you use, don't ever scrub or rub your carpet in the affected area.....doing so will damage the carpet fibers and leave a 'worn' spot there when it dries.
What I generally do is.....scoop up the big hunk of furball and toss in the toilet. If it's an unusually large area that also contains dried up food bits (kibble), I know this may sound gross but if it's not in an area that is visible, I'll let it DRY.....then when dry, take a spoon and scrape the dried stuff off and discard. If you try to remove when wet, the 'stuff' gets ground down into the carpet fibers more and it's more work to remove. Then use something like Nature's Miracle. When blotting up the area, always use a clean cloth and BLOT it.....keep patting down onto the area....NEVER RUB. I once used Hydrogen Peroxide (the strength one would use for wounds, not anything stronger)....poured a little on the stained area...let it sit (keep cats away)......then blot up. Always 'color test' an area of your carpet first...in an inconspicuous area.....to ensure whatever you're using doesn't ruin the color.