Use textpad. Sorry. Had to say it. But quite seriously, textpad does most of that, except for 6,7, you would have to write your own little code for that, and you could either do it in textpad itself or write a perl proggie and call it from textpad.
Comment on Re: The shortest distance between cperl-mode and productivity