So did you check your vacuum lines?
Vacuum leak can cause your idle to act that way. Make sure yours doesn't leak.
Idle control valve (IACV, search for it) may need cleaning.
Then after you've ruled that stuff out, you can adjust your base idle speed. Basically, you unplug the IACV, & set an artificially low idle speed. When you plug the IACV back in, the idle goes back where it belongs.