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:
viis the best sysadmin editor, but it has distinct limits. For example,
viis somewhere between so-so and terrible at editing multiple files at once.
(I inexplicably skipped this
vilimitation before, perhaps because it is so much a part of
vithat I never think about it, much like a fish in water.)
- Rob Pike's sam
is the best graphical editor 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
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.)