Generated by DeepSeek V3.2| Emacs | |
|---|---|
| Name | Emacs |
| Developer | Richard Stallman, Guy L. Steele Jr., James Gosling, Lucid Inc., Free Software Foundation |
| Released | 0 1976 |
| Programming language | C (programming language), Emacs Lisp |
| Operating system | Unix-like, Microsoft Windows, macOS |
| Genre | Text editor, Integrated development environment |
| License | GNU General Public License |
Emacs is a family of extensible, customizable text editors and integrated development environments. Its core philosophy, originating with the work of Richard Stallman at the Massachusetts Institute of Technology, emphasizes user empowerment through a built-in Lisp (programming language) interpreter. This design allows nearly every aspect of the editor's behavior to be modified or extended, fostering a powerful ecosystem of packages for tasks ranging from software development and email to project management and web browsing. Dominant modern implementations, such as GNU Emacs, are central to the culture of free software and are renowned for their comprehensive feature sets and dedicated user base.
The lineage of Emacs begins in the mid-1970s within the Artificial Intelligence Laboratory at the Massachusetts Institute of Technology. The original TECO (text editor) macros, written by Guy L. Steele Jr., evolved into a collaborative project, leading to the creation of the first Emacs editor. Richard Stallman later took the lead, developing a new, more powerful version that became a cornerstone of the GNU Project he founded in 1983. This effort produced GNU Emacs, which was written primarily in C (programming language) and featured the new Emacs Lisp extension language. Throughout the 1980s and 1990s, other significant implementations emerged, including James Gosling's proprietary Gosling Emacs, which later evolved into Unipress Emacs, and Lucid Inc.'s XEmacs, a major fork that introduced a graphical user interface toolkit. The development history is marked by philosophical debates within the free software movement and technical divergences, yet GNU Emacs has remained the most widely used variant.
Emacs provides a vast array of features built around a core text-editing engine. It offers deep integration with version control systems like Git, powerful project management tools such as Projectile (software), and modes for interacting with shells and debuggers. Its buffer (computer memory) management allows users to work with multiple files, command outputs, and live processes simultaneously. A key strength is its comprehensive support for programming through features like syntax highlighting, automatic indentation, and on-the-fly error checking via Flycheck. Beyond coding, popular packages enable functionality for email via Mu4e, newsreading with Gnus, and organization using Org-mode. The interface is highly keyboard-centric, utilizing extensive chorded keybindings and a modal editing paradigm, though modern versions also support full graphical environments under systems like X Window System and Microsoft Windows.
While GNU Emacs is the canonical implementation, several other variants have been developed. XEmacs was a prominent fork that heavily focused on advanced graphical support using the X Toolkit Intrinsics before its development largely ceased. GNU Emacs itself has splintered into specialized builds like Aquamacs for deep integration with macOS and Emacs for OS/2 for the IBM platform. Other notable implementations include mg (editor), a lightweight public domain clone, and JOVE, an early simplified version. The ecosystem also encompasses editors inspired by its keybindings and philosophy, such as Zile and MicroEmacs, though they are not full derivatives. The proliferation of these variants demonstrates the enduring influence of the original Emacs design concepts.
At the heart of Emacs's extensibility is Emacs Lisp, a dialect of the Lisp (programming language) family. This interpreter allows users to write functions and packages that can modify editor behavior, create new commands, and automate complex workflows. The language provides direct access to the editor's internal data structures and APIs, enabling deep customization. A vast repository of community-written Emacs Lisp code is available, much of it distributed via package archives like GNU ELPA and MELPA. Mastery of Emacs Lisp is considered a hallmark of advanced users, allowing them to tailor their editing environment precisely. The language's design emphasizes interactivity, with a built-in read–eval–print loop for immediate code evaluation and debugging.
The Emacs community is known for its technical depth, longevity, and strong alignment with the ethos of the free software movement and the GNU Project. Users often engage in "editor war" debates with advocates of vi and its derivatives, a long-standing rivalry in Unix culture. Knowledge is shared through extensive documentation, the GNU Emacs Manual, mailing lists like emacs-devel, and websites such as EmacsWiki. Annual gatherings like the EmacsConf provide a forum for developers and enthusiasts. The culture highly values personal customization, with many users publicly sharing their configuration files, often called "dotfiles," on platforms like GitHub. This collaborative, do-it-yourself spirit is a defining characteristic of the Emacs ecosystem.
* Vi * Text editor war * Integrated development environment * Lisp (programming language) * Free software movement * GNU Project * Richard Stallman
Category:Free software programmed in C Category:Free software programmed in Lisp Category:Text editors Category:GNU Project software