The Emacs editors are a group of extensible screen editor text editors, united in having a common user interface. Multiple 'windows' (actually, divisions of the main window) are standard, as are multiple buffers.
It is generally not 'moded'; characters typed as input are immediately inserted into the current buffer, or acted upon as a command. Most commands are not on regular printing keys, but 'Control' and 'Meta' keys (the former part of standard ASCII, the latter ASCII codes with the high bit in the byte set). Less-often used commands are invoked by name, after typing an 'execute named command' command key.
The first, EMACS, one of the first screen editors, was implemented in TECO macros on the ITS operating system at MIT. Since TECO itself was written in assembly language for the PDP-10, it was fairly quickly moved to TENEX and TOPS-20.
In addition, MIT alumni who moved elsewhere wanted Emacs-like screen editor editing capabilities on the systems at their new locations, which generated a number of new implementations, including 'Montgomery EMACS' for PDP-11 UNIX machines, and 'Gosling's Emacs' for VAX Unix. This spread the usage of Emacs even further; and as people at those facilities saw it, things snow-balled.
A commercial version called 'Epsilon', originally for MS-DOS, later Windows, was produced early on; it is still sold supported. A version was done in LISP for Multics by Bernie Greenberg. The Symbolics LISP Machine had several Emacs clones, including 'EINE' ('EINE is not EMACS') and 'ZWIE' ('ZWEI Was Eine Initially').