I just left a guy like this - he was 99% wonderful. The most loving, affectionate, generous etc boyfriend you could wish for, amazing in bed, made me laugh. But as soon as I was upset about anything (usually him letting me down or doing something thoughtless) he would get defensive and angry, call me a cunt or tell me I’m crazy and then sometimes start kicking or throwing things.
The physical stuff only happened a few times, but it only needed to, because I was waiting for it every time. He would often pack his bags and leave (he didn’t live with me so would just go upstairs and get any clothes etc and storm off). It made me feel so insecure and for 9 years I tolerated it.
Even after I called the police one time to have him removed as he’d kicked stuff around and was refusing to leave. I was terrified of him at that point. But then after a break I forgave him, he forgave me for calling 999 and having him arrested and we went on with our toxic dysfunction for another 5+ years. I thought he’d learned from that but then recently he did the exact same thing again and I had to draw a line under it, so I hadn’t seen him for 6 months.
Truth be told when I bumped into him again recently I still wanted him back. Luckily he’s done with the drama and is now terrified of having the police called again so he won’t get back with me. I keep hoping against hope that he realises what he’s done and has some miraculous turnaround, but he won’t.
Sorry for the me-rail, just offering solidarity from someone who’s been there. It’s not ok, it’s not acceptable, and like someone said above, he would always say “you’re forgetting about all the amazing stuff we have” er no, it’s all tainted by the little bit of shit you keep stirring into it!