Aristotle had a pretty simple concept — to be a good person, you should do what good people do… but, what’s that?
To get more precise, he introduced the concept of the ‘mean’ between extremes. So, to be a virtuous person, you should choose the middle path between excess and deficit. For example, if you want to be courageous, you should figure out what falls between being a coward and what is foolish… to be honest, you should choose the action between being too blunt and dishonesty.
The thing is, this turns virtue ethics into a theory that is relative to the person. For me, it would be foolish to run into a burning building without the proper training — and for a trained firefighter NOT running into that building (given the right circumstances and equipment) would be cowardly.
As for habit — the key here is to understand that one virtuous moment doesn’t make you a virtuous person. Instead, you need to adopt the virtuous habits. That means being reliably virtuous, because that’s the way you ARE. You don’t have to think about whether to be honest, you just are. You live your life trying to follow the virtuous path.
This leads to the question of whether you can step on and off that path — and that’s a good question. It seems to me that nobody will be virtuous all the time. We’re human beings, we have faults. Sometimes we tell lies because we can’t face the implications of telling the truth. Sometimes we’re cowardly because we’re afraid we can’t do the courageous thing… but, at the end of your life, if you’ve overall been a virtuous person, I think that’s what counts.