You might love him but surely you do not have any respect for him, leave him and do not look back, go forward. I have been there, believe me, they say they will change and they do for about a week and if you are lucky. This guy has problems and obviously, you cannot help him, aand he will twist things and make you feel like it is your fault and it is not!
Of course no one can tell you what to do but if you have any respect for yourself you know what you have to do. Remember, you never lose the love you have for someone but somehow, it will never grow.
Good luck, keep us posted on how you are doing, do not allow any man to physically or mentally abuse you, you are too good for that! You girls are so fortunate these days, when I was 19 we did not have all of these places to go for help, now you do.