Try telling him what you want him to do instead of what you want him to stop doing. It is much harder than it sounds, but at his developmental stage, he will be much more sucessful doing what you tell him instead of having to turn what you said into an apporpriateate, and sometimes not even oposite, behavior.
Instead of "No hit" say "Hands in pocket" or "queit hands" or what ever works for you. Think about how complicated "no hit" really is. He has to understand ALL the different nuances of no and that in English "no" can mean, from "I don't wan't to eat something" to "stop." Top that off with a verb, and what he hears is the verb, identifies the action, and has forgotton all about trying to take the "no" figure out what it means this time, and come up with an opposite behavior; that is a whole lot of steps for a 2 year old! At this age, he is not able to figure out what you mean and what you expect. Tell him what to do instead and he will probably very happly, and proudly, comply. You will find success will breed success, and you have more opportunity to explain why hitting is wrong when you are not in the moment.
Think about it, don't you still spend a good part of his day pointing to things and identifying them? "table...where is the table?" he says "table" and you still clap, right? How do you know that when you scold him and say the thing he did, that he is not confusing the same activty? You identified it and he is used to being praised by repeating your identification. I have even seen kids respond to Mom and say "hit" and she says again, "No Hit" The child is just confused, and Mom is angry.
Go ahead with your dicipline, and be consisitent with what ever you try along with trying this language use. If it were me, I would scoop him up when he hits and leave the playground and try time outs for times you cannot leave (you can do this in any corrner of a store or mall too! Just make sure that he understands why in langague that he can truly understand.
Give it a try. It is free and while not easy, it is effective!