I don't know what to do

My SO is kind of a bad person. We have known each other since we were 12 & 13 and were together in high school. There was one time in high school were he scared me because he got mad and was forcing my hands down and holding them super tight. We later broke up because he went to college and i was still in high school. We recently got back together two years ago and in the beginning it was really great. We were both working and had goals and everything was just as mature as it should be. For myself I had been looking to settle down and he truly seemed like the right person for me. Then I got pregnant - happily pregnant. Before I was far into my pregnancy we went to a event and people kept telling me they liked my outfit and I guess that got him mad and he ended up grabbing me again and tried forcing me out of the area we were in. It seriously broke my heart at the time because I just wanted to have a good weekend. But then he was seriously hurting me and I told him to stop and he didn't believe me. After that things started changing with him. He got lazy. He started treating me lesser than him. By the time I started showing I knew I had to move out from my parents house. So we moved in together. It was sometimes okay but I found myself not wanting to talk to him as much and sex was out the door. He started getting mad again and there was A time where I thought it was bad so I locked myself in a room and half an hour later he was banging on the door telling me to unlock it. I didn't because he wasn't calm yet. So he got a screw driver and took the door knob off and said no one was going to be locking doors in his house. That bothered me so much because I was the one paying all the bills. Now that we have the baby I am now back at my parents house and he is living here with us. Recently we got in a fight in the middle of the night because the baby was screaming and crying while he was awake but he was listening to a movie and playing video games. I got up took his earphones off and asked if he heard the baby. He told me to go back to bed because he would handle it. Of course I didn't listen and tried to care of my son. To cut to the chase he pushed me three times and the third time I fell back on a bed. He hasn't offered to pay rent (which I seriously wouldn't ask for if he was more responsible) or ever offers to help clean around the house. When I ask I either get a look or "what do you think I am". He has yet to get a job and when the subject comes up he shrugs it off or gets mad and tries to defend himself. All of this hasn't happened all at once it has happened over a period of time and I seriously feel like maybe I shouldn't be with him. I just feel really bad that I would be the one to take the baby.  I always told myself if I ever had a child I would stay with the dad. He loves our son very much but with me and our relationship I feel like there's no effort and when it comes to it no respect. What do I do..