Any Pokemon can learn any TM or HM?

prety much exept a few like ditto and kacuna and stuff...