I have been studying Longman's English grammar book, and something is really confusing me:
We can put it and them after the verb: Give it to me. Buy them for me. Do it for me.
With e.g. give and buy, we can say: Give me it. Buy me them. (But not *Do me it.)
We say: Give it to John. Buy them for John. (Not *Give John it - *Buy John them.)
Why can't I say Buy John it or Give John them?
There is another post related to it that talks about the same topic: Direct and Indirect Objects with the verbs: Give, Buy, and Bring. However, the most voted answer was, indeed, useful for me, but didn't get everything clear.
What's the main rule for inverting the position and dropping the preposition?
As far as I managed to understand, if the direct object is it or them and the indirect object is a pronoun, the normal construction's placement is necessary, i.e.: Subject + Verb + Direct object + To/For + Indirect object
Is this right?