I use emacs (mostly for programming and writing documentation and LaTeX) and vim(mostly when I edit configuration files or very large text files).
Some alternatives which (some of them may have been mentioned in this thread): Atom - a fairly new and versatile one as far as I know PyCharm (not a native Debian Package) but very nice to debug Python with. The community edition is free. Bluefish (especially when editing html files). Regards Johann