== Good editors aren't better or worse, just different It's common to compare text editors and say that one is better or worse than another. But after a certain point this is wrong. Editors are often not better or worse but *different* than each other, each better at specific things. Such differences mean that there is no absolute scale of better and worse, and indeed that the question of which is a better editor in general is meaningless. Let me illustrate this using the differences between the three editors that I use most frequently: * _vi_ is the best [[sysadmin editor ../sysadmin/WhyViForSysadmins]], but it has distinct [[limits ../unix/ViLimits]]. For example, _vi_ is somewhere between so-so and terrible at editing multiple files at once. (I inexplicably skipped this _vi_ limitation before, perhaps because it is so much a part of _vi_ that I never think about it, much like a fish in water.) * Rob Pike's [[sam http://en.wikipedia.org/wiki/Sam_(text_editor)]] is the best [[graphical editor ../programming/GoodGraphicalInterfaces]] and the best editor for certain sorts of mass structured changes (within certain limits it has the best search and replace going, especially across multiple files). But it basically requires graphics and has nothing like smart indenting or the like. * GNU Emacs is the best code editor, due to things like its freakishly superintelligent smart indenting and other extensions, but it is not suitable as a sysadmin editor and it is not as good a graphical editor as [[sam]]. Looking at this it is hopefully clear how absurd it would be for me to claim that any of these editors was better or worse than any other one. They are all good editors, and they are all different tools that fit different situations best. Note that a lot of this involves personal taste issues. For example, how [[sam]] works is very much to my tastes, but probably inspires violent loathing in some people. Good editors have (for lack of a better description) an aesthetic, and either you like that aesthetic or you don't (although, like music, you may find that an aesthetic grows on you over time; _vi_'s aesthetic certainly has grown on me). === Sidebar: on IDEs and my editor list If I did anything with Java or other highly structured languages, I expect that I would add Eclipse or some similarly smart IDE to this list; as it is I work in Python and C, neither of which are very amenable to such things. (And in the brief time I tried Eclipse, it had a distressing tendency to want to run a 'project', not just edit files for me. As a sysadmin, I can't make an IDE 'project' out of every package that I need to [[modify a bit ../linux/PatchingRPMsWithQuilt]].)