I have to agree with those who feel that it's unlikely he'll improve over time, as the problem is more his attitude than his skills. However, I do think it's possible that he
could become a better buddy, but only if he is willing to accept that right now he's NOT! (If my buddy pulled any one of those tricks on me, that's the LAST time I'd go in the water with him - no matter WHO he was!)
He clearly does not comprehend the concept of buddy diving: that you are each other's alternate air source, and if you are not close enough to reach each other with a couple of fin kicks, then you are not really buddying...you are solo diving in the same ocean.
I had an instructor say something to me once that I've never forgotten: if something goes wrong at depth, you have the amount of time it takes to hold
one breath to get it resolved before...YOU DIE! If you can't reach your buddy in the amount of time it takes to hold one breath, then he is not an alternate air source. You might want to tell him that, and see what he says. Also, ask him, how would he feel if you had a problem at depth and he couldn't get to you in time to help you, because he was too far ahead, or too absorbed in his own dive to even notice you were having a problem? Maybe that will help him to see the ramifications of his behavior.
I hope he reads this thread. Something else you might want to consider would be looking into GUE Fundamentals...IF you're interested in expanding your dive skills and knowledge. I've not done that course, but my understanding is that they REALLY focus on buddy skills. Taking that course together could save your relationship - and your ability to dive together.