Its core features include:
- Unicode aware
- binary clean
- handle arbitrary files (especially large ones)
- unlimited undo/redo support
- syntax highlighting
- regex search (and replace)
- multiple file/window support
- extensible and configurable through its source code (header file)
Designing a text editor presents some interesting challenges and design decision.
Most importantly it is a lot of fun.