Unfortunately, I suffer from what a coworker of mine calls, editor ADD. My new motto is this: “Learn 4 to 6 editors and learn them adequately.” I have kind of given up on learning one editor very well, since I can’t make up my mind. About a year ago, I narrowed down my list to 4 development tools / editors (Textmate, vim, eclipse, IntelliJ). I also tried to separate them by operating system. When I was on the Mac I was going to use IntelliJ for Java work and Textmate for everything else. On windows it was going to be Eclipse for Java and VIM for everything else. So far it hasn’t been too bad.
I was worried that having too many keystrokes in my head would end up becoming a nightmare, but surprisingly, the many different sets of keystrokes can coexist in my mind without too much conflict. There is roughly a ½ hour context switch for me, where keystrokes are sometimes blurred moving from one environment to the other after a prolonged period of using just one. But for the most part, my brain knows vim, Textmate, eclipse, or IntelliJ, and doesn’t seem to complain about the switching.
I am not actually advocating this approach to anyone else, but there may be one aspect of learning several editors adequately that has some tangible benefit. That is, when pair programming with different people, you can adapt to the style of your pair with minimal disruption. Now, if each person has their own laptop and their own set of tools, then it doesn’t really matter.
[Update: I forgot about Xcode. That makes 5.]
Update 2013: Now I am leaning toward jetbrains products with the vim plugin and vim for everything else. (Well, textmate is still handy for stuff as well)