Generated by GPT-5-mini| Emacs | |
|---|---|
![]() Software: Massachusetts Institute of Technology, Bull HN Information Systems, In · Public domain · source | |
| Name | Emacs |
| Author | Richard Stallman |
| Developer | GNU Project |
| Released | 1976 |
| Programming language | C, Emacs Lisp |
| Operating system | Cross-platform |
| Genre | Text editor, IDE |
| License | GPL |
Emacs is a family of text editors renowned for extensibility, programmability, and integration with development workflows. Originating from early interactive computing projects at institutions like MIT and Stanford, it evolved into a central project within the GNU Project and Free Software movement led by Richard Stallman. Emacs implementations serve programmers, writers, and system administrators across platforms such as Unix, GNU/Linux, Microsoft Windows, and macOS.
Emacs traces roots to the mid-1970s at MIT's Project MAC and the AI Lab where editors like TECO and editors developed by people such as Richard Stallman and Guy L. Steele Jr. influenced its design; early variants appeared on systems like the Incompatible Timesharing System and TENEX. The term "Emacs" emerged alongside variants developed at Stanford and the University of California, Berkeley; influential implementations included Gosling Emacs by James Gosling and later GNU Emacs initiated by Richard Stallman as part of the GNU Project. Throughout the 1980s and 1990s Emacs coexisted with editors like vi, editors in Plan 9 environments, and IDEs from vendors such as Microsoft; debates between Emacs and vi users echoed in communities around Usenet and mailing lists. Emacs' development intersected with projects like X Window System, SGI, Cygwin, and later integration efforts with GNOME and KDE.
Emacs offers an extensive set of features including programmable text editing, syntax highlighting, incremental search, and multiple buffers inspired by editors used at Bell Labs and DEC. It contains modes tailored to languages and tools like C, C++, Python, Java, HTML, and LaTeX as used by scholars associated with institutions such as Cornell University and Princeton University. Emacs integrates with build systems and version control systems including Git, Subversion, and CVS and interoperates with debuggers like GDB and continuous integration tools used by organizations such as Google and Red Hat. Advanced features include project management interfaces similar to those in Eclipse and Visual Studio, email and news clients comparable to Gnus and Mutt, and literate programming support reflecting ideas from Donald Knuth.
At its core Emacs combines a C-based executable runtime with an embedded dialect, Emacs Lisp, following traditions from language-embedded editors and influenced by work at institutions like MIT and CMU. The architecture supports dynamically loadable modules and package systems akin to ecosystems around Perl CPAN and Python PyPI; package archives such as those hosted by GNU and community repositories distribute extensions maintained by contributors linked to organizations like Debian and Fedora Project. Emacs’ extension model allows editing modes, keybindings, and window management inspired by research from labs including Xerox PARC; it supports customization via dotfiles and init scripts analogous to configuration patterns used with Bash and Zsh.
Multiple implementations and interfaces exist: GNU Emacs is the canonical implementation maintained under the GNU General Public License with GUIs using toolkits like GTK and Lucid; XEmacs branched with different maintainers and contributors similar to forks in projects such as OpenOffice.org and LibreOffice. Other ports target environments such as Windows NT and embedded systems, paralleling efforts found in projects like Cygwin and MinGW. Emacs supports terminals via compat layers for xterm, VT100, and modern terminal emulators used in iTerm2 and Konsole. Graphical frontends and integrations have connected Emacs to editors and tools like Eclipse via plugins and to web services employed by companies like GitHub and Bitbucket.
Emacs development is coordinated through channels reminiscent of other Free Software projects such as Linux kernel and GCC, using mailing lists, version control systems like Git, and hosting infrastructures similar to Savannah and GNU Savannah. Key figures and contributors include maintainers from organizations like FSF and volunteers affiliated with universities and companies such as Red Hat and Google. The community produces conferences and gatherings comparable to FOSDEM, LibrePlanet, and regional meetings; documentation efforts mirror those in projects like Debian with extensive manuals, tutorials, and community-curated packages distributed via platforms similar to MELPA.
Emacs has been both lauded and criticized across media outlets and academic writing, compared frequently with editors such as vi and integrated development environments like Eclipse and Visual Studio Code. It influenced software projects and cultural artifacts including Git, text processing tools from GNU Project like GNU Sed and GNU Awk, and literate programming practices advocated by Donald Knuth. Emacs’ design philosophy impacted discussions in forums and publications tied to ACM, IEEE, and academic departments at institutions like Stanford University and Harvard University.
Category:Text editors Category:Free software Category:GNU Project