I'm beginning to come around to the Emacs argument which runs something like this:
You should know an editor that is available on every platform.
You should know an editor that can be extended in any conceivable way.
Since the Brief days on DOS I've never really had _an_ editor. On Windows I ended up using whatever the editor was in the IDE I was using. QuickC, Visual Studio, Visual Cafe, IntelliJ, and so on.
When I switched to the Mac I quickly fell in love with TextMate which is very functional, very nice Cocoa application. TextMate is very 80/20 focused and nice to work with and fits well with a language like Ruby that is script-based and doesn't seem to gain the benefits from an IDE available to static languages such as C# and Java.
However when I wanted to experiment with Lisp and, more recently, Prolog though I find I hit limitations principally around TextMate's inability to drive and communicate with a running interpreter (one could extend this argument to Ruby as well I guess). Emacs+SLIME for example allows one to create an interpreter within an editor buffer, execute code in it, interact with it and so on.
So I'm gradually coming to the conclusion that I have to make a concerted effort to wean myself away from TextMate, lovely though it is, and try to learn Emacs instead. And I am beginning to think I should have started learning it a long time ago. In the same way as languages we acquire after our teenage years tend to be acquired less easily and less fluently, learning Emacs at 34 feels exceptionally hard and I wonder if I will ever feel like a fluent native...
So my advice, if you don't want your kids to edit like foreigners, is to get your toddlers using Emacs today!