Eat healthier - when your body is healthy and clean, you feel better (many people start eating what they like to call 'comfort foods' when they feel down, hence they fatten themselves and develop unhealthy habits; you, however, don't seem to have that tendency, since you barely eat). Are you on a good diet at the moment? Replace foods or snacks that you commonly eat with better alternatives. Also, when you restrain yourself from unhealthy foods, replace the phrase "I can't have this." to "I don't need or really want this, here's why..., instead I could have..."
Exercise - exercising gets your mind off of things. Try going jogging or doing something light first, since you're not at your peak physical condition (I like boxing). Some guy mentioned meditation, but in my opinion it's kind of boring. I mean, sure, it supposedly cleanses your mind and helps you bring clarity into your life, but exercise can do that and also improve your fitness. Again, a body that is healthy, feels healthy.
One more thing. I'm not sure if there's a point in sharing this, but do whatever you want with it:
Every morning or evening, when you're in the bathroom or whatever, look at yourself in the mirror, in the eyes, and say "I am exactly who I want to be." then keep the gaze for 30 seconds as your brain processes the information. Immediately you might think of counter arguments to that statement saying something like "No, that's not true, I am not happy with myself because of *this* and *this*," but repeat the process for weeks and you'll notice a change in your behavior. Your confidence and self-esteem will improve.