so my top 5 are almost a list of IDE requirements:
- Syntax highlighting and autoindent, braces checking
- Compilation and jump to compilation errors
- Version control support, file comparison
- Scriptability (including ad-hoc scripts)
- Powerful search/replace, including multifile
- Powerful cut and paste
The fact that Emacs allows me to add the first 3 for any language by a bit of coding definitely helps. The fact that Ionly had to do it for one language helps even more :) .