1) having some indicator of what has changed in a file would be killer. Hippoedit and notepad++ show vertical lines in the gutter. The thicker line indicates lines in the editor which have changed since the last save. The thinner ones indicate lines that have changed in the current editing session and have already been saved. IDE’s all have this. There’s no reason why editors can’t. It’d be killer in combination with a good integration with VCS (I like mercurial).

2) assign colors to tabs (buttons) per filetype or any other criteria. Done to great effect in ultraedit.

3) split windows like vim, emacs etc is a must. No coder who has tried this would do any amount of coding without it. This may be hard to implement and it requires distintion between buffers and tabs/windows (maybe).

4) Mark-based folding (example, vim does it with # {{{ code here # }}}