I can no longer stand my boyfriend but also I cannot break up. What should I do?

Hi everyone,
I've been in this relationship for like 2 years now and it IS living hell. We're always fighting, couple of times a day always a different topic, he ALWAYS humiliates me no matter where we are (he shouts and calls me a wh*re in the class for example), he ALWAYS curses off me and my family and tells me to get out of his life but when I do try to break up he begs me to stay and promises me to change, he blocks me on every social media everday at least 10 times a day, even because of a very stupid thing (for example just now he blocked me on everywhere because I typed ok while we were talking said that typing "ok" is passive aggresive and I had no right to be angry at him). And everytime he blocks me I "have to" try and reach him from my parents' phones or even a total stranger's phone on the street. If I do not try and reach him he unblocks me starts cursing off me and my family. He always acts like he's superior to me and I have to "obey" him. He screams at me when I reject his sex offer, calls me names and he always gets physical when we're fighting, he hit me couple of times, he choked me while we were fighting...
At the beginning of the relationship I idolised this dude, he was 3 years older than me, experienced, intellectual, mature, understanding, you know.. Just prince charming... And at some point I really loved him but I really hate this guy right now, I hate his guts. But I have no idea why but breaking up is really hard for me. Everytime I try to break up with him this a**hole suddenly becomes the PERFECT boyfriend. I've never been good at breaking ups, I am always scared to break their heart but this disgusting thing is really just nonsense. He dragged me into PTSD, depression and anxiety. I question my sanity every minute of this relationship. Can you please tell me how can I stay strong and end things for sure and just never look back?
I can no longer stand my boyfriend but also I cannot break up. What should I do?
Add Opinion