This situation really struck a chord with me. I was in a mentally abusive relationship with my now X husband, and this post brought back all those feelings and reminded me of red-flags from that relationship. It can be hard to pick apart your perception from reality, especiallly if you love someone. I try to remember this: Don't fall in love with possibility or potential. The person is who they are at that moment, and that is how I try to love, in the moment... This can protect you from situations where you are waiting for someone to "change". I know it can be incredibly hard to walk away from someone you love, but sometimes it is for the best of BOTH parties. Another thing I try to do is to listen to my intuition. This actually became harder for me after this abusive relationship since I was basically trained by him and myself to ignore my gut feelings. How I identify them now is with a moment of brief clarity and ease with which the thought enters my mind. When I say it out loud, it feels clear, and makes me feel good about myself. Try this, it might help you figure out what you need to do.
I truly hope you can identify what you need to do. But, please be careful. He sounds manipulative and abusive and it can be easy for him to convince you out of what your intuition is saying.