I'm realizing that the distinction between vim/emacs and typical IDE editors is entropy. Vim is extraordinarily precise - very low entropy at all times. An IDE editor is constantly moving between high entropy (e.g. mouse motion) and low entropy (e.g. the interpretation of the mouse motion as a precise command). This implies that vim appeals to minds that desire constant precision, and GUI editors appeal to minds that prefer to vacillate between levels of precision.
Decoupled from this is the question of which pattern of thought lends itself to being a better programmer. There is a good argument either way: staying at a very precise level of thought is wonderful when solving problems; and yet it is better to loosen up when figuring out which problems to solve.
I tend to take the view that a programmer's actions while programming should ideally be unambiguous, precise, and regular at all times. Higher level thought should have a distinct place, time and another set of tools (pencil and paper being foremost among the alternatives).
That is my belief, although it is based on anecdotal evidence. Some (most?) hackers enjoy descending into and inhabiting continuously a low-entropy mind-state. There are others that would rather maintain some sort of fluidity between states, as inhabiting that low-entropy mind-state tends to come at the cost of human connectivity.
Decoupled from this is the question of which pattern of thought lends itself to being a better programmer. There is a good argument either way: staying at a very precise level of thought is wonderful when solving problems; and yet it is better to loosen up when figuring out which problems to solve.
I tend to take the view that a programmer's actions while programming should ideally be unambiguous, precise, and regular at all times. Higher level thought should have a distinct place, time and another set of tools (pencil and paper being foremost among the alternatives).