Ah, you kids today. I've actually used TECO; I'm in a position to confirm that everything Ed Post said about it in "Real Programmers" is gospel truth.
Slightly more recently, I fell in love with the BRIEF text editor. The default was a great balance of clarity (unlike the modal mess of vi/EMACS) and power. And if there was some editing feature you wanted that didn't already exist, the "E" in BRIEF stood for "extensible" -- meaning you could code your own features using BRIEF's internal scripting language. Which wasn't LISP.
I was very productive with BRIEF because, other than optional keyword and bracket/brace highlighting, it had the great virtue that it would get out of my way
, with zero fussiness, and let me blast code out of my brain as quickly as possible. That's a huge benefit when one has a short attention span at the best of times, it was the worst of times I need a sandwich was that a bird outside my window I should research its species... sorry, what was I saying?
Actually, that's the one serious point in the middle of my reminiscencing: there is a difference in editing needs between bashing out a torrent of code while an idea is fresh in your mind, and picking carefully through existing code to make sure it's clean and modular and, oh yes, syntactically and semantically correct alongside all the other existing code.
For code-blasting, a text editor (I now use Zeus, a less-capable BRIEF-alike) is optimal because it doesn't keep jogging your elbow. For debugging and integration and maintenance, an IDE might be helpful and a good choice. In other words, I don't see a need to have an editor-of-choice holy war because I think tool use should be guided by the usage context.
Naturally I fully expect the "but I can blast out lots of code in my IDE!" objection. To this, I gently reply that an IDE is the perfect tool for you in all contexts because you are an exceptional specimen of humanity and not representative of the general population of lesser coders.