Sweetdisposition, I am SO sorry that you're going through this. I had to reply because most of your post could have been written by me a few years ago. I can tell you that it is most definitely NOT normal, it's NOT okay and that you CAN do better!
I was in a very, very similar sounding relationship for most of my twenties. He never full-on hit me, but there were plenty of shoves (which were always my fault for 'getting in his way'), he grabbed my throat on more than one occasion, and he would regularly tell me how much 'restraint' he was having to exercise not to punch me in the face, because apparently I was just so damn annoying that I was just asking for a beating. He'd say things like 'one day you're going to get me arrested if you don't shut up'. I got used to being called a cunt and a bitch literally every day. I'd try to shrug it off and pretend it didn't bother me, but I just felt awful all of the time. He would lose his temper over the slightest thing and yell at me like crazy, then when he calmed down (sometimes days later) he would give me a half-arsed 'apology' which was always along the lines of 'you know you shouldn't push me, you shouldn't get in my face, I need my space' so that I would normally end up apologising to HIM for daring to talk back. And I put up with it for far, far too long because I somehow convinced myself that it was normal (it wasn't) and that he was still a good boyfriend (he wasn't!)
What's funny is that, right up until the end, if I'd been speaking to anyone about it I probably still would have said 'he's a good guy and he's lovely most of the time' too. But why do we say that? If he behaves like this even 10% of the time then it doesn't make the slightest difference how nice he is the other 90%.
I mean this to be encouraging and I hope it doesn't sound smug, but I've been with my new partner for over a year now and I honestly cannot believe how different it is. I'm 32 years old and I feel like I'm only just now realising that this is what a happy relationship with a genuinely 'lovely' man should feel like! I now can't quite believe I ever thought it was normal to stay with a partner who called me such awful names on a daily basis and regularly threatened me with physical violence.
You may not feel up to ending it right now, and it's understandable if you feel you need some time to prepare yourself mentally for it. But please know that you will be fine without him. More than fine! It might not happen right away but I'm positive that once it's over, one day you will wake up and realise that awful feeling in the pit of your stomach (which maybe you didn't even realise you had) has suddenly gone.
Good luck, and please do keep posting here.