Sorry, the title isn't a great explanation of what I'm asking.

So, example. Sometimes I will be having a bad day and I'll be generally pessimistic, snappy, and dismissive. This happens more than I'd like to admit, but less than it did in the past, so I'm working on it and I'm okay with that. On these days, sometimes my boyfriend will get fed up and stop explaining himself/tell me it's not worth it for him to talk about an issue because I am not listening to him.

Of course I know that I am listening to him, but my ears are filtering out the good/neutral things and only hearing that 'bad' things (whatever causes me to panic and fear abandonment). I am not currently able to be in his shoes and feel empathetic, probably because I need attention or love and I can't have it at that moment. But when he (or any person) finally gets upset with my attitude, I usually snap back into reality and suddenly think "Oh crap. This is real. He is a real person and I am hurting him."

After that, I try to remedy the situation by owning up to things and attempting to coax him back to me and be on my best behaviour. I usually say something like "No no, I am listening. Please, continue. I won't talk back anymore." or "I'm sorry I am putting you down. I really am glad you [insert thing he is happy about here]. I want to continue talking to you, and I will stop being so critical."

Of course, those remedies are only for the moment because I am definitely not completely in control all the time. But my question is, does anyone have tips on how to stop 'The BPD' when you KNOW you're doing it, before it gets out of hand and I have to resort to my feeble attempts at promising the person I will be good? I can always tell I am acting up, but I can never stop myself from continuing unless I am forcefully tossed back into reality by someone else.

Thanks guys!