Knowledge

Emacs

Source 📝

312:(TECO). Unlike most modern text editors, TECO used separate modes in which the user would either add text, edit existing text, or display the document. One could not place characters directly into a document by typing them into TECO, but would instead enter a character ('i') in the TECO command language telling it to switch to input mode, enter the required characters, during which time the edited text was not displayed on the screen, and finally enter a character (<esc>) to switch the editor back to command mode. (A similar technique was used to allow overtyping.) This behavior is similar to that of the program 708: 2175: 804: 828: 793: 1517:: every command implicitly runs once, but may be called multiply, or in a different way, when supplied with such a prefix. Such arguments may also be non-positive where it makes sense for them to be so - it is up to the function accepting the argument to determine, according to its own semantics, what a given number means to it. One common usage is for functions to perform actions in reverse simply by checking the 596: 474: 4285: 456: 3987: 735: 610: 3841: 1690:
forth, and multiple buffers can share the same text, for example to take advantage of different major modes in a mixed-language file. Similarly, Emacs instances are not associated with particular frames, and multiple frames can be opened displaying a single running Emacs process, e.g. a frame per screen in a multi-monitor setup, or a terminal frame connected via
265: 4275: 273: 246: 1261:, in which separate languages are used to implement the interface and features of the editor and to encode its user-defined configuration and options. The goal of Emacs' open design is to transparently expose Emacs' internals to the Emacs user during normal use in the same way that they would be exposed to the Emacs developer working on the 1891:, which support editing a range of programming languages (e.g., emacs-lisp-mode, c-mode, java-mode, ESS for R) by changing fonts to highlight the code and keybindings modified (foreword-function vs. forward-page). Other modes include ones that support editing spreadsheets (dismal) and structured text. 1753:
Because of the uniformity of Emacs' features' definition in terms of Emacs Lisp, what counts as a "user action" for the purposes of macro-automation is flexible: macros may include, e.g., keypresses, commands, mouse clicks, other macros, and anything that can be effectuated via these. Macros can thus
715:
Richard Stallman has remained the principal maintainer of GNU Emacs, but he has stepped back from the role at times. Stefan Monnier and Chong Yidong were maintainers from 2008 to 2015. John Wiegley was named maintainer in 2015 after a meeting with Stallman at MIT. As of early 2014, GNU Emacs has had
3272:
Modern computers have more than enough resources to start and run a full Emacs in a fraction of a second, and Emacs is probably what you want. Zile is a small, fast, and powerful Emacs clone. It is useful for small footprint installations (e.g. on floppy disk), machines with little memory, or quick
1171:
editor, as its edits are displayed onscreen as they occur. This is standard behavior for modern text editors but EMACS was among the earliest to implement this. The alternative is having to issue a distinct command to display text, (e.g. before or after modifying it). This was common in earlier (or
624:
alternative to the proprietary Gosling Emacs. GNU Emacs was initially based on Gosling Emacs, but Stallman's replacement of its Mocklisp interpreter with a true Lisp interpreter required that nearly all of its code be rewritten. This became the first program released by the nascent GNU Project. GNU
358:
at a time when computer memory was generally small due to cost, and it was a feature of TECO that allowed editing on only one page at a time sequentially in the order of the pages in the file. Instead of adopting E's approach of structuring the file for page-random access on disk, Stallman modified
2798:
A cocky novice once said to Stallman: 'I can guess why the editor is called Emacs, but why is the justifier called Bolio?'. Stallman replied forcefully, Names are but names, Emack & Bolio's is the name of a popular ice cream shop in Boston town. Neither of these men had anything to do with the
2534:
wrote, "The original (TECO-based) Emacs was created and designed by Guy L. Steele Jr. and David Moon. After they had it working, and it had become established as the standard text editor at the AI lab, Stallman took over its maintenance." Moon himself responded "All true, so far as I can remember.
679:. Because about 70% of GNU Emacs is written in the Emacs Lisp extension language, one only needs to port the C core which implements the Emacs Lisp interpreter. This makes porting Emacs to a new platform considerably less difficult than porting an equivalent project consisting of native code only. 1689:
In general, Emacs display elements (windows, frames, etc.) do not belong to any specific data or process. Buffers are not associated with windows, and multiple windows can be opened onto the same buffer, for example to track different parts of a long text side-by-side without scrolling back and
1720:
from open pipes, ports, or fifos, performing periodic or pre-programmed actions, and remembering buffer undo history, saved text snippets, command history, and other user state between editing sessions. In this mode of operation, Emacs overlaps the functionality of programs like
956:, an Emacs clone by Lugaru Software. Versions for DOS, Windows, Linux, FreeBSD, Mac OS X and OS/2 are bundled in the release. It uses a non-Lisp extension language with C syntax and used a very early concurrent command shell buffer implementation under the single-tasking MS-DOS. 2871:
I wrote the second Emacs ever: the Lisp machine implementation, whose spec was "do what Stallman's PDP-10 (original) Emacs does", and then progressed from there. There's just a whole LOT of it. It took me and Mike McMahon endless hours to implement so many commands to make
94:, describes it as "the extensible, customizable, self-documenting, real-time display editor". Development of the first Emacs began in the mid-1970s, and work on GNU Emacs, directly descended from the original, is ongoing; its latest version is 29.4, released June 2024. 1470:: all Emacs command code accepts a numeric value which, in its simplest usage, indicates repetition of an action, but in more complex cases (where repetition doesn't make sense) can yield other behaviours. These arguments may be supplied via command prefices, such as 417:
The original Emacs, like TECO, ran only on the PDP-10 running ITS. Its behavior was sufficiently different from that of TECO that it could be considered a text editor in its own right, and it quickly became the standard editing program on ITS. Mike McMahon
1257:. In this way there is little difference in practice between customising existing features and writing new ones, both of which are accomplished in the same basic way. This is operatively different from most modern extensible editors, for instance such as 633:, also implemented in C, as an extension language. Version 13, the first public release, was made on March 20, 1985. The first widely distributed version of GNU Emacs was version 15.34, released later in 1985. Early versions of GNU Emacs were numbered as 3481:
In touch typing, modifiers comes in pairs, such as ⇧ Shift key. The accepted ergonomic way to press modifier combinations is using one hand to press the modifier key and the other to press the letter key. Using 2 hands avoids single-hand straining its
1908:
in that it presents the user with information on its normal features and its current state. Each function includes a documentation string that is displayed to the user on request, a practice that subsequently spread to programming languages including
1685:
at the bottom (usually displaying buffer name, the active modes and point position of the buffer among others). The bottom of every frame is used for output messages (then called 'echo area') and text input for commands (then called 'minibuffer').
1224:
can be modified with no need to rebuild or restart Emacs, with even newly redefined versions of core editor features being asynchronously compiled and loaded into the live environment to replace existing definitions. Modern GNU Emacs features both
1391:). Minor modes can be toggled on or off both locally to each buffer as well as globally across all buffers, while major modes can only be toggled per-buffer. Any other data relevant to a buffer but not bundled into a mode can be handled by simply 1402:, which is a function explicitly designed for interactive use. Keys can be arbitrarily redefined and commands can also be accessed by name; some commands evaluate arbitrary Emacs Lisp code provided by the user in various ways (e.g. a family of 378:
took on the project of unifying the diverse macros into a single set. Steele and Stallman's finished implementation included facilities for extending and documenting the new macro set. The resulting system was called EMACS, which stood for
858:
hardware. Today's computers have more than enough power and capacity to eliminate these restrictions, but small clones have more recently been designed to fit on software installation disks or for use on less capable hardware.
1216:, which enables GNU Emacs to be ported to a wide variety of operating systems and architectures without modifying the implementation semantics of the Lisp system where most of the editor lives. In this Lisp environment, 917:
implementation derived from MINCE that was included circa 1982 as the default word processor with the very earliest releases of the Kaypro II and Kaypro IV. It was later provided with the Kaypro 10 as an alternative to
1749:
User actions can be recorded into macros and replayed to automate complex, repetitive tasks. This is often done on an ad-hoc basis, with each macro discarded after use, although macros can be saved and invoked later.
1526:
sorting in reverse by column index (or delimiter) 7), or undo/redo, which are simply negatives of each other (traversing forward and backward through a recursive history of diffs by some number of steps at a time).
765:. Its development is currently inactive, with the most recent stable version 21.4.22 released in January 2009 (while a beta was released in 2013), while GNU Emacs has implemented many formerly XEmacs-only features. 2039:
Users have addressed this through various approaches. Some users recommend simply using the two Control keys on typical PC keyboards like Shift keys while touch typing to avoid overly straining the left pinky, a
1236:
All configuration is stored in variables, classes, and data structures, and changed by simply updating these live. The use of a Lisp dialect in this case is a key advantage, as Lisp syntax consists of so-called
1521:
of the universal argument, such as a sort command which sorts in obverse by default and in reverse when called with a negative argument, using the absolute value of its argument as the sorting key (e.g.
760:
development occurred when the codebases of the two Emacs versions diverged and the separate development teams ceased efforts to merge them back into a single program. Lucid Emacs has since been renamed
72: 1265:, and to collapse as much as possible of the distinction between using Emacs and programming Emacs, while still providing a stable, practical, and responsive editing environment for novice users. 777:
Aquamacs – based on GNU Emacs (Aquamacs 3.2 is based on GNU Emacs version 24 and Aquamacs 3.3 is based on GNU Emacs version 25) which focuses on integrating with the Apple Macintosh user interface
3255:
There were people in those days, in 1985, who had one-megabyte machines without virtual memory. They wanted to be able to use GNU Emacs. This meant I had to keep the program as small as possible.
1871:: it offers search, descriptions and help text, multiple choice inputs, reverting to defaults, modification of the running Emacs instance without reloading, and other conveniences similar to the 1932:. Emacs displays instructions for performing simple editing commands and invoking the tutorial when it is launched with no file to edit. The tutorial is by Stuart Cracraft and Richard Stallman. 285: 1708:
and connecting to it via a frame-spawning client. This server can then be made available in any situation where an editor is required, simply by declaring the client program to be the user's
359:
TECO to handle large buffers more efficiently and changed its file-management method to read, edit, and write the entire file as a single buffer. Almost all modern editors use this approach.
540:, who went on to develop the NILE Emacs-like editor for the NIL Project, and by Barry Margolin. Many versions of Emacs, including GNU Emacs, would later adopt Lisp as an extension language. 862:
Other projects aim to implement Emacs in a different dialect of Lisp or a different programming language altogether. Although not all are still actively maintained, these clones include:
1371:, in particular, are an important concept in Emacs, providing a mechanism to disaggregate Emacs' functionality into sets of behaviours and keybinds relevant to specific buffers' data. 2785: 1740:
elements on sufficiently featureful text terminals - though graphical frames are the preferred mode of display, providing a strict superset of the features of text terminal frames.
2799:
software.' His question answered, yet unanswered, the novice turned to go, but Stallman called to him, 'Neither Emacs nor Bolio had anything to do with the ice cream shop, either.'
1563:. Not all of these may be present on an IBM-style keyboard, though they can usually be configured as desired. These are represented in command language as the respective prefices: 1108:
can save and load alternative keyboard-shortcut layouts. One of the built-in layouts provides Emacs-like keybindings, including using different commands to achieve closer behavior.
842:
In the past, projects aimed at producing small versions of Emacs proliferated. GNU Emacs was initially targeted at computers with a 32-bit flat address space and at least 1 
2036:
to Emacs' strong dependence on modifier keys, although there have not been any studies done to show Emacs causes more such problems than other keyboard-heavy computer programs.
1375:
provide a general package of functions and commands relevant to a buffer's data and the way users might be interacting with it (e.g. editing source code in a specific language,
1867:
extension allows the user to set configuration properties such as the color scheme interactively, from within Emacs, in a more user-friendly way than by setting variables in
2541: 4772: 4747: 113:
programming language, allowing users and developers to write new commands and applications for the editor. Extensions have been written to, among other things, manage
1681:
would be a split. Depending on configuration, windows can include their own scroll bars, line numbers, sometimes a 'header line' typically to ease navigation, and a
4701: 875:, originally called MicroGNUEmacs and, later, mg2a, a public-domain offshoot of MicroEMACS intended to more closely resemble GNU Emacs. Now installed by default on 2128:, whose large modifier keys are placed symmetrically on both sides of the keyboard and can be pressed with the palm of the hand. Foot pedals can also be used. 215:
from GNU Emacs in 1991. GNU Emacs and XEmacs use similar Lisp dialects and are, for the most part, compatible with each other. XEmacs development is inactive.
335:(What You See Is What You Get) behavior, which has since become the default behavior of most modern text editors. He returned to MIT where Carl Mikkelsen, a 3414: 343:
that allowed the screen display to be updated each time the user entered a keystroke. Stallman reimplemented this mode to run efficiently and then added a
656:
GNU Emacs offered more features than Gosling Emacs, in particular a full-featured Lisp as its extension language, and soon replaced Gosling Emacs as the
324: 1661:, it uses somewhat divergent names for familiar interface elements. Buffers, the data that Emacs users interact with, are displayed to the user inside 4757: 4545: 4371: 2309:
For an editor to be called "emacs" the main requirement is that it be fully extensible with a real programming language, not just a macro language.
1904:
library that included documentation for every command, variable and internal function. Because of this, Emacs proponents described the software as
1783:
first if it exists, and it can be used to configure or short-circuit core Emacs features before they load, such as the graphical display system or
1192:
Almost all of the functionality in Emacs, including basic editing operations such as the insertion of characters into a file, is achieved through
1649:, with Emacs scanning the namespace of contextually available commands to return the shortest sequence of keystrokes which uniquely lexicate it. 362:
The new version of TECO quickly became popular at the AI Lab and soon accumulated a large collection of custom macros whose names often ended in
1732:
Because of its separation of display concerns from editing functionality, Emacs can display roughly similarly on any device more complex than a
1697:
Just as buffers don't require windows, running Emacs processes do not require any frames, and one common usage pattern is to deploy Emacs as an
4752: 4364: 413:
EMACS was distributed on a basis of communal sharing, which means all improvements must be given back to me to be incorporated and distributed.
1539:, to concisely express the keystrokes necessary to perform an action. This command language recognises the following shift and modifier keys: 4146: 3830: 3758: 3313: 1807:
to override standard ones and to add shortcuts for commands that the user finds convenient but don't have a key binding by default. Example:
258: 4419: 2793: 2180: 1925:. This help system can take users to the actual code for each function, whether from a built-in library or an added third-party library. 4742: 2980:
thingy should really be kept only for bug-fix releases and neither of 24.3, 24.4, nor the previously planned 24.5 are bug-fix releases.
1645:(which initialises a buffer in memory for temporary text storage and manipulation), when invoked by the user, will be reported back as 996:
projects. There is also a Portable Hemlock project, which aims to provide a Hemlock, which runs on several Common Lisp implementations.
4202: 2213: 1795:
that it finds, ignoring the rest. This personal customization file can be arbitrarily long and complex, but typical content includes:
697: 2279: 1641:. Command language is also used to express the actions needed to invoke commands with no assigned shortcut: for example, the command 1587:. Keys whose names are only printable with more than one character are enclosed in angle brackets. Thus, a keyboard shortcut such as 1398:
Any interaction with the editor (like key presses or clicking a mouse button) is realized by evaluating Emacs Lisp code, typically a
4409: 4404: 4359: 3737: 3716: 3693: 3651: 3349: 2687: 2657: 2866: 2139:
on which Emacs was developed had oversized Control keys that were adjacent to the space bar and were easy to reach with the thumb.
1016:
uses some of the same terminology and understands many Emacs navigation bindings. This is possible because the native UI uses the
641:
was dropped after version 1.12, as it was thought that the major number would never change, and thus the numbering skipped from
4354: 2491:
Finally, if you find yourself frustrated, try describing your problems to the famous psychotherapist Eliza. Just do M-x doctor.
574: 350:
E had another feature that TECO lacked: random-access editing. TECO was a page-sequential editor that was designed for editing
297: 3112: 4414: 4192: 336: 869:, which was originally written by Dave Conroy and further developed by Daniel Lawrence and which exists in many variations. 4797: 4787: 4321: 2559: 1922: 707: 4689: 3234: 1885:, affecting the choice of fonts and colours, are defined as Emacs Lisp files and chosen through the customize extension. 688: 1836:
Loading, enabling and initializing extensions (Emacs comes with many extensions, but only a few are loaded by default.)
4782: 4777: 4732: 2727: 1914: 818: 551: 212: 110: 2535:
But in all fairness I have to say that Stallman greatly improved Emacs after he “liberated” it from Guy and me." See
1850:
Executing arbitrary files, usually to split an overly long configuration file into manageable and homogeneous parts (
492:
In the following years, programmers wrote a variety of Emacs-like editors for other computer systems. These included
1121:
and is designed for manipulating pieces of text, although it is capable of formatting and printing documents like a
4792: 4762: 4387: 2647: 2188: 2125: 1843:
to run arbitrary code at specific times, for example to automatically recompile source code after saving a buffer (
1427: 693: 3823: 3379: 3001: 2673: 1910: 1197: 717: 581:(Steve Zimmerman) appeared in 1984. 1985 comparisons to GNU Emacs, when it came out, mentioned free vs. $ 2,400. 309: 3418: 2626: 347:
feature to the TECO display-editing mode that allowed the user to redefine any keystroke to run a TECO program.
4535: 4349: 3218: 2438: 2026: 1666: 1658: 1426:, bound by default to most keyboard keys in a typical text editing buffer, which parameterises itself with the 626: 563: 423: 344: 165: 102: 2885: 1283:, a memory region containing data (usually text) with associated attributes. The most important of these are: 387:. Stallman picked the name Emacs "because <E> was not in use as an abbreviation on ITS at the time." An 159: 2257: 1694:
from a remote system and a graphical frame displaying the same Emacs process via the local system's monitor.
435: 4480: 4018: 2842: 2486: 2071:, which provides an approach similar to vim's with a mode for entering Emacs commands without modifier keys. 1292: 904: 3365: 2082:
key is used as the main key for initiating control sequences. These projects also heavily incorporate both
2055:
Customizing the whole keyboard layout to move statistically frequent Emacs keys to more appropriate places.
4737: 4648: 4540: 1217: 1213: 1193: 1157: 1145: 803: 3144: 1212:. The Emacs Lisp layer sits atop a stable core of basic services and platform abstraction written in the 4663: 4392: 4131: 4109: 3922: 3895: 3560: 2208: 1033: 969: 953: 142: 3604: 2704: 2410: 2338: 1998:, that has posts purporting to support this parody religion. Supporters of vi have created an opposing 1716:
variable. Such a server continues to run in the background, managing any child processes, accumulating
649:. In September 2014, it was announced on the GNU emacs-devel mailing list that GNU Emacs would adopt a 439: 395: 3090: 3066: 2971: 932:
version that uses an extension language based on text macro expansion and fits within the original 64
664:
exploited a security flaw in GNU Emacs' email subsystem in his 1986 cracking spree in which he gained
4767: 4615: 3816: 2203: 2136: 1976: 1105: 780: 277: 234: 3038: 2304: 696:
access. Development took place in a single CVS trunk until 2008 and was then switched to the Bazaar
4706: 4550: 4141: 4028: 4012: 2098: 2014: 1134: 1071: 900: 650: 442:. By 1979, Emacs was the main editor used in MIT's AI lab and its Laboratory for Computer Science. 171: 130: 106: 30:
This article is about the class of text editors. For the most popular, current implementation, see
2815: 4638: 4470: 4465: 4397: 4182: 4177: 4172: 3962: 3679: 3020: 2957: 2943: 2574: 2117: 1705: 1634: 1518: 1258: 1141: 1099: 1027: 748:
Lucid Emacs, based on an early alpha version of GNU Emacs 19, was developed beginning in 1991 by
672: 375: 254: 193: 4278: 4658: 4565: 4460: 4314: 4250: 4220: 4058: 4038: 3986: 3754: 3733: 3712: 3689: 3647: 3345: 2683: 2653: 2553: 2062: 1804: 1702: 1392: 1332: 1173: 1065: 1013: 885:(Jonathan's Own Version of Emacs), Jonathan Payne's non-programmable Emacs implementation for 855: 827: 614: 603: 525: 250: 189: 2677: 2108:
Using a limited ergonomic subset of keybindings, and accessing other functionality by typing
4673: 4605: 4215: 3932: 3726:
Cameron, Debra; Elliott, James; Loy, Marc; Raymond, Eric; Rosenblatt, Bill (December 2004).
3661: 3637: 3619: 3086: 3010: 2759: 2755: 2527: 1964: 1956: 1737: 1717: 1328: 1177: 1053: 872: 809: 320: 313: 301: 222: 200: 43: 3628: 3613: 3439: 2385: 1387:
define subsidiary collections of functionality applicable across many major modes (such as
792: 4643: 4633: 4510: 3866: 3803: 3238: 3170: 3062: 2976:
In retrospect 24.3 should have been named 25.1 and 24.4 should have been named 26.1. The
2283: 2102: 1960: 1784: 1604: 1535:
Because of its relatively large vocabulary of commands, Emacs features a long-established
981: 854:
in the 1980s, and this left a need for smaller reimplementations that would run on common
3299: 1798:
Setting global variables or invoking functions to customize Emacs behaviour, for example
1309:: a conceptually contiguous collection of text to which editing commands will be applied; 682:
GNU Emacs development was relatively closed until 1999 and was used as an example of the
3769: 4727: 4653: 4555: 4225: 4151: 4136: 4033: 3952: 3852: 3683: 2992: 2537: 2531: 2503: 1274: 1122: 999: 910: 749: 701: 513: 199:
The most popular, and most ported, version of Emacs is GNU Emacs, which was created by
98: 3631: 4721: 4695: 4475: 4344: 4187: 4156: 4126: 3947: 3910: 3705: 3476: 3339: 3117: 2929: 2032: 1983: 1733: 1242: 1059: 1039: 757: 621: 555: 543: 537: 529: 485: 477: 467: 185: 87: 3840: 3580: 3198: 280:, which sought to enable users to type as many different kinds of input as possible. 4668: 4490: 4485: 4439: 4307: 4118: 3149: 3122: 3113:"Stallman on handing over GNU Emacs, its future and the importance of nomenclature" 3024: 2097:
so that it functions as a Control key when pressed in combination with other keys.
2041: 1972: 1238: 1045: 943: 851: 595: 509: 463: 118: 3273:
editing sessions, especially on remote machines or as a different user, e.g. root.
473: 3514: 196:
editor. It was inspired by the ideas of the TECO-macro editors TECMAC and TMACS.
4520: 4450: 4330: 4207: 4197: 3957: 2600: 2198: 1872: 1279: 1230: 1153: 1130: 1118: 1049: 1021: 1017: 977: 847: 821: 692:. The project has since adopted a public development mailing list and anonymous 661: 431: 391: 305: 204: 83: 455: 4580: 4574: 4525: 4255: 4094: 3937: 2743:"EMACS as such actually started out as a standards project," emails Guy Steele 2507: 2361: 2170: 2101:
or keyboards with a greater number of keys adjacent to the space bar, such as
1946: 1722: 1376: 1221: 1201: 1087: 993: 973: 963: 959: 866: 796: 753: 734: 676: 630: 351: 226: 24: 3641: 3415:"The unabridged selective transcript of Richard M Stallman's talk at the ANU" 3231: 2321: 4600: 4530: 4515: 4260: 4023: 3874: 3808: 3626:. Cambridge Massachusetts: MIT Artificial Intelligence Laboratory. AIM-519A. 3611:. Cambridge, Massachusetts: MIT Artificial Intelligence Laboratory. AIM-447. 2326:
GNU Emacs is the most popular and widespread of the Emacs family of editors.
2094: 2075: 1991: 1149: 1093: 989: 886: 665: 599: 590: 536:'s Cambridge Information Systems Lab. Multics Emacs was later maintained by 533: 388: 218: 91: 31: 2886:"The Design and Implementation of a Display-Oriented Editor Writing System" 2731: 1603:(check dependent formulas and calculate all cells in all open workbooks in 609: 331:
editor, written by Fred Wright. He was impressed by the editor's intuitive
319:
By the 1970s, TECO was already an old program, initially released in 1962.
4288: 3267: 2908:
Christopher Kelty; Mario Biagioli; Peter Jaszi; Martha Woodmansee (2015).
2458: 2120:, which places the modifier keys where they can easily be operated by the 1975:
in Roman numerals), it does not oppose the use of vi; rather, it calls it
1052:
that understands the standard Emacs navigation keybindings. It also has a
402:
ice cream store. The first operational EMACS system existed in late 1976.
264: 4610: 4590: 4570: 4495: 4445: 4245: 4053: 3915: 3900: 3534: 3042: 2472: 2193: 1979: 1929: 1241:(or sexprs), which can act as both evaluatable code expressions and as a 1226: 1137: 947: 933: 925: 919: 843: 653:
strategy and version numbers would increment more quickly in the future.
567: 430:
operating systems. Other contributors to early versions of Emacs include
126: 3665: 3250: 3015: 2996: 339:
at the AI Lab, had added to TECO a combined display/editing mode called
272: 4500: 3727: 3185:
twenty-nine years of continuous development by no fewer than 579 people
2542:"Rebuttal to Stallman's Story About The Formation of Symbolics and LMI" 2236: 1987: 1302:: a settable location which, along with the point, enables selection of 876: 814: 427: 419: 332: 245: 2434: 2156: 4595: 4585: 4560: 4068: 4001: 3879: 3791: 3539: 3519: 3451: 2817:
EMACS: The Extensible, Customizable, Self-Documenting, Display Editor
1081: 903:. MINCE evolved into Final Word, which eventually became the Borland 835: 762: 738: 729: 399: 293: 208: 177: 3798: 3624:
EMACS: The Extensible, Customizable, Self-Documenting Display Editor
2105:, allow thumb control of other modifier keys too like Meta or Shift. 1875:
functionality of other programs. The customized values are saved in
1245:
akin to, but simpler and more general than, well known ones such as
1669:
of the terminal screen or the GUI window, which Emacs refers to as
4455: 4073: 4063: 4048: 4006: 3967: 3942: 2631: 2121: 2093:
Giving a dual role to a more-comfortably accessed key such as the
1419: 1313: 1181: 1126: 985: 939: 892: 826: 802: 791: 742: 733: 706: 608: 594: 472: 459: 454: 355: 289: 271: 263: 244: 147: 134: 114: 3393: 3174: 2766:. No. Maj 1987. Lysator, Linköping University. pp. 8–11 2473:"Collaborative editing using Conflict-free Replicated Data Types" 637:, with the initial digit denoting the version of the C core. The 4505: 4099: 4043: 3972: 3927: 3905: 3748: 2679:
Free as in Freedom: Richard Stallman's Crusade for Free Software
1918: 1726: 1254: 1250: 1209: 914: 896: 882: 831: 559: 547: 521: 501: 493: 481: 230: 153: 122: 20: 4303: 3812: 3494: 1357:, the method by which Emacs represents buffer data to the user; 1102:
has multiple extensions available to emulate Emacs keybindings.
105:
to automate work. Implementations of Emacs typically feature a
4435: 4299: 4078: 3861: 3338:
Bolsky, Morris I.; Korn, David G. (1989). "Acknowledgements".
2160: 2008: 1754:
be recursive, and can be defined and invoked inside of macros.
1691: 1380: 1262: 1246: 1205: 929: 620:
Richard Stallman began work on GNU Emacs in 1984 to produce a
570:, a language with Lisp-like syntax, as an extension language. 409:
forking and set certain conditions for usage. He later wrote:
138: 49: 1430:-defined character associated with the key used to call it. 1133:
or a web browser. Emacs provides commands to manipulate and
2646:
Raymond, Eric S.; Cameron, Debra; Rosenblatt, Bill (1996).
1437:
key in a buffer that accepts text input evaluates the code
1395:
that buffer and live modifying the relevant data directly.
3477:"Emacs: Why You Should Not Swap {Caps Lock, Control} Keys" 3314:"Setting up keybindings for the Command Window and Editor" 2013:, a saint in the Church of Emacs. This is in reference to 1096:
has an Emacs line editing mode that predates Gnu Readline.
520:), which was written by Owen Theodore Anderson. Weinreb's 3750:
The Craft of Text Editing -or- Emacs for the Modern World
3285: 3145:"Emacs gets new maintainer as Richard Stallman signs off" 1164:
for performing user-defined batches of editing commands.
1002:, an Emacs-like text editor included with MIT/GNU Scheme. 671:
Most of GNU Emacs functionality is implemented through a
55: 1513:. When no prefix is supplied, the universal argument is 2784:
Reynolds, Craig (1992-02-10). Wiseman, David G. (ed.).
1657:
Because Emacs predates modern standard terminology for
1422:) are effectuated as Emacs Lisp functions, such as the 3666:"My Lisp Experiences and the Development of GNU Emacs" 3251:"My Lisp Experiences and the Development of GNU Emacs" 2386:"On the Origin of Emacs in 1976 (Emacs blog articles)" 1759:
At startup, Emacs executes an Emacs Lisp script named
1466:, in this case, is determined by what Emacs terms the 1204:(Elisp), and was developed expressly to port Emacs to 3344:. Englewood Cliffs, NJ: Prentice Hall. pp. xii. 2238:
Multics Emacs: The History, Design and Implementation
2116:
Hardware solutions include special keyboards such as
1858:
are traditional locations for these personal scripts)
405:
Stallman saw a problem in too much customization and
276:
Emacs' interface was influenced by the design of the
61: 58: 2017:, an early Church father venerated in Christianity. 225:, one of the two main contenders in the traditional 4682: 4626: 4428: 4380: 4337: 4238: 4165: 4117: 4108: 4087: 3994: 3888: 3860: 3851: 1844: 1808: 1799: 1496: 1455:, which inserts one copy of the character constant 1438: 1036:
Defaults to Emacs emulation and supports a vi mode.
52: 46: 3704: 2843:"email quoted in "Be Careful What You Joke About"" 2273: 2271: 2269: 2267: 1172:merely simpler) line and context editors, such as 2627:"The 10 oldest, significant open-source programs" 2048:Using the ErgoEmacs keybindings (with minor mode 1607:) would be rendered in Emacs command language as 700:. On November 11, 2014, development was moved to 82:(an acronym for "Editor Macros"), is a family of 3091:"Re: Looking for a new Emacs maintainer or team" 2530:is often credited as another co-creator, but as 988:. Later forked by Lucid Common Lisp (as Helix), 711:C file in Emacs 27 with the modus-operandi theme 284:Emacs development began during the 1970s at the 97:Emacs has over 10,000 built-in commands and its 4702:Free Software Foundation anti-Windows campaigns 2548:, archived from the original on January 1, 2009 2252: 2250: 2248: 558:in 1981. The first Emacs-like editor to run on 411: 101:allows the user to combine these commands into 90:. The manual for the most widely used variant, 3341:The KornShell Command and Programming Language 2790:David G. Wiseman: Stories of Computer Folklore 2682:. Sebastopol, CA: O'Reilly Media. p. 82. 2652:. Sebastopol, CA: O'Reilly. pp. 408–409. 2459:"Introducing Elfeed, an Emacs Web Feed Reader" 1633:(incremental file search by filename-matching 1125:by interfacing with external programs such as 524:was the first Emacs written in Lisp. In 1978, 4315: 3824: 2944:"Differences between GNU Emacs and CCA Emacs" 2163:, referring to different varieties of Emacs. 2005:Stallman has jokingly referred to himself as 895:(MINCE Is Not Complete Emacs), a version for 8: 3685:An Introduction to Programming in Emacs Lisp 2823:(Technical report). MIT AI Lab. AI Memo 519a 1963:created for Emacs users. While it refers to 1200:. The dialect used in GNU Emacs is known as 2728:"EMACS vs. vi: The endless geek 'holy war'" 2546:Dan Weinreb's blog: software and innovation 2230: 2228: 1879:(or another designated file) automatically. 1379:, viewing the filesystem, interacting with 1074:emulates Emacs keybindings when invoked as 4322: 4308: 4300: 4114: 3857: 3831: 3817: 3809: 3268:"GNU Zile (Zile is Lossy Emacs) - Summary" 1090:provides Emacs keybindings for its editor. 1084:provides Emacs keybindings for its editor. 783:– a Japanese version for Microsoft Windows 184:The original EMACS was written in 1976 by 4773:Linux integrated development environments 3014: 2910:Making and Unmaking Intellectual Property 1787:. It will then execute the first version 1418:). Even the simplest user inputs (such a 394:alleges that the program was named after 253:as a project to unify the many divergent 4748:Free integrated development environments 2135:is a relatively recent development. The 2079: 1736:, including providing typical graphical 1630: 1626: 1622: 1619: 1616: 1612: 1600: 1596: 1592: 1588: 1560: 1556: 1552: 1548: 1544: 1540: 1492: 1489: 1485: 1481: 1478: 1475: 1471: 1434: 2884:Owen Theodore Anderson (January 1979). 2809: 2807: 2224: 2074:Using customized key layout offered by 1800:(set-default-coding-systems 'utf-8) 233:culture. GNU Emacs is among the oldest 4284: 2867:"Comment by ZWEI's author Dan Weinreb" 2551: 2305:"A Tutorial Introduction to GNU Emacs" 4147:Massachusetts Institute of Technology 2915:Computer Corporation of America (CCA) 2044:of the keyboard will reduce the RSI. 1020:(equivalent to Super) instead of the 846:of RAM. Such computers were high end 756:One of the best-known early forks in 480:wrote an Emacs-like editor to run on 7: 4420:GNAT Modified General Public License 4274: 3175:"Ugliest…repository…conversion…ever" 2972:"emacs-devel msg 00872 (2014-09-29)" 2814:Stallman, Richard (March 26, 1981). 2181:Free and open-source software portal 1990:.") The Church of Emacs has its own 1062:provides a set of Emacs keybindings. 1030:provides a set of Emacs keybindings. 946:and its descendants, implemented in 3609:An Introduction to the Emacs Editor 3452:"Saint IGNUcius - Richard Stallman" 3394:"Saint IGNUcius - Richard Stallman" 3219:"XEmacs is Dead. Long Live XEmacs!" 1775:, as well as similar variations on 532:almost entirely in Multics Lisp at 2214:Integrated development environment 2112:. M-x itself can also be re-bound. 1673:; in modern terminology, an Emacs 237:projects still under development. 14: 4410:GNU Affero General Public License 4405:GNU Lesser General Public License 2917:EMACS, written by Steve Zimmerman 1986:version of vi is not a sin but a 1744:Customizability and extensibility 257:command sets and key bindings at 4758:Free software programmed in Lisp 4283: 4273: 3985: 3839: 3143:Chirgwin, Richard (2015-11-05). 2173: 2025:There is folklore attributing a 1068:has an emulation mode for Emacs. 1042:has an emulation mode for Emacs. 145:, as well as implementations of 86:that are characterized by their 42: 3729:Learning GNU Emacs, 3rd Edition 2649:Learning GNU Emacs, 2nd Edition 2409:Kangas, Stefan (22 June 2024). 2078:and Doom Emacs, projects where 1763:(recent versions also look for 1677:would be a window and an Emacs 575:Computer Corporation of America 562:, Gosling Emacs was written in 298:Incompatible Timesharing System 4415:GNU Free Documentation License 3768:Thompson, Adrienne G. (2009). 3703:Glickstein, Bob (April 1997). 2760:"The EMACS Full-Screen Editor" 2360:Zawinski, Jamie (2007-10-29). 2235:Greenberg, Bernard S. (1979). 1611:, while an Emacs command like 962:is the Emacs-based editor for 508:), which were written for the 1: 4753:Free software programmed in C 3799:List of Emacs implementations 3732:. O'Reilly & Associates. 3711:. O'Reilly & Associates. 3111:McNamara, Paul (2008-02-25). 1777:~/.config/emacs/early-init.el 773:Other notable forks include: 4690:GNU/Linux naming controversy 3753:. Springer-Verlag & Co. 3707:Writing GNU Emacs Extensions 3646:(15th ed.). GNU Press. 3440:alt.religion.emacs newsgroup 2703:Arthur Samuel (March 1980). 2322:"GNU Emacs Pocket Reference" 2118:Kinesis's Contoured Keyboard 1900:The first Emacs contained a 1406:functions, operating on the 1233:compilation for Emacs Lisp. 1196:written in a dialect of the 1007:Editors with Emacs emulation 689:The Cathedral and the Bazaar 4152:Thorn EMI Computer Software 3561:"At Home Modifier by Evdev" 2601:"Debian Popularity Contest" 2155:, by phonetic analogy with 2151:is sometimes pluralized as 192:as a set of macros for the 4814: 4743:Free file comparison tools 4388:GNU General Public License 4279:Emacs on Wikimedia Commons 3747:Finseth, Craig A. (1991). 3286:"Lugaru Software Homepage" 3067:"New Git repository is up" 2997:"Stalking the wily hacker" 2841:Leigh Klotz (2007-08-29). 2786:"The Emac Bolio Name Koan" 2189:Comparison of text editors 2126:Microsoft Natural keyboard 1944: 1928:Emacs also has a built-in 1433:For example, pressing the 1316:of the file the buffer is 813:tiny Emacs-like editor in 727: 668:access to Unix computers. 588: 327:in 1976 and saw the lab's 29: 18: 4269: 3983: 3002:Communications of the ACM 2558:: CS1 maint: unfit URL ( 1659:graphical user interfaces 1637:), would be expressed as 1243:data serialisation format 1198:Lisp programming language 552:Java programming language 546:, who would later invent 310:Tape Editor and Corrector 4372:History of free software 4350:Free Software Foundation 2439:Free Software Foundation 2110:M-x <command-name> 2027:repetitive strain injury 1331:-level commands will be 972:, originally written in 769:Other forks of GNU Emacs 720:throughout its history. 304:that featured a default 19:Not to be confused with 4019:Emacs Speaks Statistics 3232:FrontPage - Meadow Wiki 2579:XEmacs Internals Manual 1773:~/.config/emacs/init.el 1647:M-x scra <return> 1364:s and Emacs Lisp state. 1180:(Unix), ED (CP/M), and 506:ZWEI Was EINE Initially 3804:Architectural overview 3199:"XEmacs vs. GNU Emacs" 3197:Stephen J., Turnbull. 3093:. gnu.org Mailing List 2278:Adrienne G. Thompson. 1273:The main text editing 1214:C programming language 1176:(BTS, CTSS, Multics), 1140:units of text such as 1135:differentially display 839: 824: 800: 745: 712: 617: 606: 489: 470: 422:Emacs from ITS to the 415: 281: 269: 261: 16:Family of text editors 2796:on January 16, 2003. 2540:(November 11, 2007), 2411:"Emacs 29.4 released" 2209:List of Unix commands 1362:buffer local variable 1117:Emacs is primarily a 1034:Epsilon (text editor) 830: 806: 795: 788:Various Emacs editors 737: 710: 686:development style in 613:GNU Emacs running on 612: 598: 476: 458: 451:Early implementations 275: 267: 249:Emacs was started by 248: 143:collaborative editing 4798:Windows text editors 4788:OpenVMS text editors 4198:Joris van der Hoeven 3662:Stallman, Richard M. 3638:Stallman, Richard M. 3620:Stallman, Richard M. 3523:. 15 September 2022. 3495:"ErgoEmacs Homepage" 2958:"A History of Emacs" 2932:. December 17, 2017. 2756:Stallman, Richard M. 2575:"A history of Emacs" 2204:List of text editors 2137:Space-cadet keyboard 2029:colloquially called 1977:proprietary software 1484:, or more compactly 1420:printable characters 1239:symbolic expressions 1188:General architecture 1106:Oracle SQL Developer 899:and later DOS, from 625:Emacs is written in 512:by Mike McMahon and 278:space-cadet keyboard 235:free and open source 78:), originally named 4707:Defective by Design 4674:Richard M. Stallman 4289:Emacs on Wikiquotes 4142:Mark of the Unicorn 3300:"Cocoa text system" 3016:10.1145/42411.42412 2435:"Tramp User Manual" 2099:Ergonomic keyboards 2015:Ignatius of Antioch 1969:editor of the beast 1822:"C-x C-b" 1501:self-insert-command 1495:, which expands to 1443:self-insert-command 1424:self-insert-command 1160:. It also features 1156:constructs such as 901:Mark of the Unicorn 660:Unix Emacs editor. 396:Emack & Bolio's 383:or, alternatively, 374:. Two years later, 296:computers used the 4783:MacOS text editors 4778:Linux text editors 4733:1970s in computing 4639:Benjamin Mako Hill 4183:Richard P. Gabriel 3770:"MACSimizing TECO" 3680:Chassel, Robert J. 3605:Ciccarelli, Eugene 3237:2012-02-16 at the 2847:The New York Times 2339:"GNU Emacs Manual" 2280:"MACSimizing TECO" 2103:Japanese keyboards 1996:alt.religion.emacs 1769:~/.emacs.d/init.el 1701:: running it as a 1468:universal argument 1100:Visual Studio Code 936:flat memory limit. 840: 825: 801: 746: 713: 673:scripting language 618: 607: 490: 471: 466:, an evolution of 370:, which stood for 282: 270: 262: 211:is a variant that 4793:Unix text editors 4763:Free text editors 4715: 4714: 4659:Georg C. F. Greve 4566:GNU Privacy Guard 4393:linking exception 4297: 4296: 4251:Dissociated press 4234: 4233: 4221:Guy L. Steele Jr. 3981: 3980: 3760:978-1-4116-8297-9 3421:on 4 October 2011 3380:"Early Init file" 3087:Stallman, Richard 2599:Allombert, Bill. 1360:and a variety of 1346:possibly several 1325:default directory 1169:real-time display 1014:Cocoa text system 856:personal computer 615:Microsoft Windows 526:Bernard Greenberg 498:EINE Is Not EMACS 440:Eugene Ciccarelli 251:Guy L. Steele Jr. 190:Guy L. Steele Jr. 4805: 4324: 4317: 4310: 4301: 4287: 4286: 4277: 4276: 4216:Richard Stallman 4137:Perfect Software 4115: 3989: 3858: 3843: 3833: 3826: 3819: 3810: 3795: 3794: 3792:Official website 3779: 3777: 3776: 3764: 3743: 3722: 3710: 3699: 3675: 3673: 3672: 3657: 3643:GNU Emacs Manual 3627: 3612: 3592: 3591: 3589: 3588: 3577: 3571: 3570: 3568: 3567: 3557: 3551: 3550: 3548: 3547: 3531: 3525: 3524: 3515:"Keymacs layout" 3511: 3505: 3504: 3502: 3501: 3491: 3485: 3484: 3473: 3467: 3466: 3464: 3462: 3456:www.stallman.org 3448: 3442: 3437: 3431: 3430: 3428: 3426: 3417:. Archived from 3411: 3405: 3404: 3402: 3400: 3390: 3384: 3383: 3376: 3370: 3369: 3362: 3356: 3355: 3335: 3329: 3328: 3326: 3325: 3310: 3304: 3303: 3296: 3290: 3289: 3282: 3276: 3275: 3264: 3258: 3257: 3247: 3241: 3229: 3223: 3222: 3215: 3209: 3208: 3206: 3205: 3194: 3188: 3187: 3182: 3181: 3167: 3161: 3160: 3158: 3157: 3140: 3134: 3133: 3131: 3130: 3121:. Archived from 3108: 3102: 3101: 3099: 3098: 3083: 3077: 3076: 3074: 3073: 3059: 3053: 3052: 3050: 3049: 3035: 3029: 3028: 3018: 2989: 2983: 2982: 2968: 2962: 2961: 2954: 2948: 2947: 2940: 2934: 2933: 2926: 2920: 2919: 2905: 2899: 2898: 2896: 2895: 2890: 2881: 2875: 2874: 2863: 2857: 2856: 2854: 2853: 2838: 2832: 2831: 2829: 2828: 2822: 2811: 2802: 2801: 2792:. Archived from 2781: 2775: 2774: 2772: 2771: 2752: 2746: 2745: 2740: 2739: 2730:. Archived from 2724: 2718: 2717: 2715: 2714: 2709: 2700: 2694: 2693: 2670: 2664: 2663: 2643: 2637: 2636: 2623: 2617: 2616: 2614: 2612: 2596: 2590: 2589: 2587: 2586: 2571: 2565: 2563: 2557: 2549: 2528:Richard Stallman 2525: 2519: 2518: 2516: 2514: 2508:"Emacs Timeline" 2500: 2494: 2493: 2483: 2477: 2476: 2469: 2463: 2462: 2455: 2449: 2448: 2446: 2445: 2431: 2425: 2424: 2422: 2421: 2406: 2400: 2399: 2397: 2396: 2382: 2376: 2375: 2373: 2372: 2362:"Emacs Timeline" 2357: 2351: 2350: 2348: 2346: 2335: 2329: 2328: 2318: 2312: 2311: 2301: 2295: 2294: 2292: 2291: 2282:. Archived from 2275: 2262: 2261: 2254: 2243: 2242: 2232: 2183: 2178: 2177: 2176: 2111: 2089: 2085: 2070: 2065:emulation layer. 2060: 2051: 1997: 1971:(vi-vi-vi being 1957:Richard Stallman 1906:self-documenting 1896:Self-documenting 1878: 1870: 1857: 1853: 1846: 1833: 1832: 1829: 1826: 1823: 1820: 1817: 1814: 1811: 1801: 1794: 1790: 1782: 1778: 1774: 1770: 1766: 1762: 1715: 1711: 1648: 1644: 1640: 1610: 1609:C-A-S-<f9> 1586: 1582: 1578: 1574: 1570: 1566: 1537:command language 1531:Command language 1525: 1516: 1512: 1511: 1508: 1505: 1502: 1499: 1465: 1458: 1454: 1453: 1450: 1447: 1444: 1441: 1425: 1417: 1414:, or individual 1413: 1409: 1405: 1390: 1269:Interactive data 1077: 1072:Joe's Own Editor 984:. Influenced by 518:Sine Is Not Eine 321:Richard Stallman 302:operating system 201:Richard Stallman 77: 76: 75: 74: 67: 64: 63: 60: 57: 54: 51: 48: 4813: 4812: 4808: 4807: 4806: 4804: 4803: 4802: 4718: 4717: 4716: 4711: 4678: 4644:Bradley M. Kuhn 4634:Alexandre Oliva 4622: 4424: 4376: 4333: 4328: 4298: 4293: 4265: 4230: 4161: 4132:Lugaru Software 4104: 4083: 3990: 3977: 3884: 3865: 3853:Implementations 3847: 3837: 3790: 3789: 3786: 3774: 3772: 3767: 3761: 3746: 3740: 3725: 3719: 3702: 3696: 3678: 3670: 3668: 3660: 3654: 3636: 3618: 3603: 3600: 3595: 3586: 3584: 3579: 3578: 3574: 3565: 3563: 3559: 3558: 3554: 3545: 3543: 3533: 3532: 3528: 3513: 3512: 3508: 3499: 3497: 3493: 3492: 3488: 3475: 3474: 3470: 3460: 3458: 3450: 3449: 3445: 3438: 3434: 3424: 3422: 3413: 3412: 3408: 3398: 3396: 3392: 3391: 3387: 3378: 3377: 3373: 3364: 3363: 3359: 3352: 3337: 3336: 3332: 3323: 3321: 3318:Mathworks Blogs 3312: 3311: 3307: 3298: 3297: 3293: 3284: 3283: 3279: 3266: 3265: 3261: 3249: 3248: 3244: 3239:Wayback Machine 3230: 3226: 3217: 3216: 3212: 3203: 3201: 3196: 3195: 3191: 3179: 3177: 3169: 3168: 3164: 3155: 3153: 3142: 3141: 3137: 3128: 3126: 3110: 3109: 3105: 3096: 3094: 3085: 3084: 3080: 3071: 3069: 3061: 3060: 3056: 3047: 3045: 3037: 3036: 3032: 2993:Stoll, Clifford 2991: 2990: 2986: 2970: 2969: 2965: 2956: 2955: 2951: 2942: 2941: 2937: 2928: 2927: 2923: 2907: 2906: 2902: 2893: 2891: 2888: 2883: 2882: 2878: 2865: 2864: 2860: 2851: 2849: 2840: 2839: 2835: 2826: 2824: 2820: 2813: 2812: 2805: 2783: 2782: 2778: 2769: 2767: 2754: 2753: 2749: 2737: 2735: 2726: 2725: 2721: 2712: 2710: 2707: 2702: 2701: 2697: 2690: 2672: 2671: 2667: 2660: 2645: 2644: 2640: 2625: 2624: 2620: 2610: 2608: 2598: 2597: 2593: 2584: 2582: 2573: 2572: 2568: 2550: 2536: 2526: 2522: 2512: 2510: 2506:(2005-06-21) . 2504:Zawinski, Jamie 2502: 2501: 2497: 2485: 2484: 2480: 2471: 2470: 2466: 2457: 2456: 2452: 2443: 2441: 2433: 2432: 2428: 2419: 2417: 2408: 2407: 2403: 2394: 2392: 2384: 2383: 2379: 2370: 2368: 2359: 2358: 2354: 2344: 2342: 2337: 2336: 2332: 2320: 2319: 2315: 2303: 2302: 2298: 2289: 2287: 2277: 2276: 2265: 2258:"GNU Emacs FAQ" 2256: 2255: 2246: 2234: 2233: 2226: 2222: 2179: 2174: 2172: 2169: 2145: 2109: 2087: 2086:and the latter 2083: 2081: 2068: 2058: 2049: 2023: 1995: 1961:parody religion 1953:Church of Emacs 1949: 1943: 1941:Church of Emacs 1938: 1898: 1876: 1868: 1855: 1851: 1845:after-save-hook 1830: 1827: 1824: 1821: 1818: 1815: 1812: 1809: 1792: 1788: 1785:package manager 1780: 1776: 1772: 1768: 1764: 1760: 1746: 1713: 1709: 1655: 1653:Dynamic display 1646: 1642: 1638: 1632: 1628: 1624: 1621: 1618: 1614: 1608: 1602: 1598: 1594: 1590: 1584: 1580: 1576: 1572: 1568: 1564: 1562: 1558: 1554: 1550: 1546: 1542: 1533: 1523: 1514: 1509: 1506: 1503: 1500: 1497: 1494: 1491: 1487: 1483: 1480: 1477: 1473: 1463: 1456: 1451: 1448: 1445: 1442: 1439: 1436: 1423: 1415: 1411: 1407: 1403: 1388: 1355:buffer encoding 1342:s, including a 1271: 1190: 1167:GNU Emacs is a 1162:keyboard macros 1115: 1075: 1056:emulation mode. 1009: 982:CMU Common Lisp 907:word processor. 799:4.0.15 on Linux 790: 771: 732: 726: 716:579 individual 593: 587: 462:, an Emacs for 453: 448: 446:Implementations 325:Stanford AI Lab 243: 221:is, along with 71: 70: 69: 45: 41: 35: 28: 17: 12: 11: 5: 4811: 4809: 4801: 4800: 4795: 4790: 4785: 4780: 4775: 4770: 4765: 4760: 4755: 4750: 4745: 4740: 4735: 4730: 4720: 4719: 4713: 4712: 4710: 4709: 4704: 4699: 4692: 4686: 4684: 4680: 4679: 4677: 4676: 4671: 4666: 4661: 4656: 4654:Federico Heinz 4651: 4646: 4641: 4636: 4630: 4628: 4624: 4623: 4621: 4620: 4613: 4608: 4603: 4598: 4593: 4588: 4583: 4578: 4568: 4563: 4558: 4556:GNU Archimedes 4553: 4548: 4543: 4538: 4533: 4528: 4523: 4518: 4513: 4508: 4503: 4498: 4493: 4488: 4483: 4478: 4473: 4468: 4463: 4458: 4453: 4448: 4443: 4432: 4430: 4426: 4425: 4423: 4422: 4417: 4412: 4407: 4402: 4401: 4400: 4398:font exception 4395: 4384: 4382: 4378: 4377: 4375: 4374: 4369: 4368: 4367: 4362: 4357: 4347: 4341: 4339: 4335: 4334: 4329: 4327: 4326: 4319: 4312: 4304: 4295: 4294: 4292: 4291: 4281: 4270: 4267: 4266: 4264: 4263: 4258: 4253: 4248: 4242: 4240: 4236: 4235: 4232: 4231: 4229: 4228: 4226:Daniel Weinreb 4223: 4218: 4213: 4210: 4205: 4200: 4195: 4190: 4185: 4180: 4175: 4169: 4167: 4163: 4162: 4160: 4159: 4154: 4149: 4144: 4139: 4134: 4129: 4123: 4121: 4112: 4106: 4105: 4103: 4102: 4097: 4091: 4089: 4085: 4084: 4082: 4081: 4076: 4071: 4066: 4061: 4056: 4051: 4046: 4041: 4036: 4031: 4026: 4021: 4016: 4009: 4004: 3998: 3996: 3992: 3991: 3984: 3982: 3979: 3978: 3976: 3975: 3970: 3965: 3960: 3955: 3953:Perfect Writer 3950: 3945: 3940: 3935: 3930: 3925: 3920: 3919: 3918: 3908: 3903: 3898: 3892: 3890: 3886: 3885: 3883: 3882: 3877: 3871: 3869: 3855: 3849: 3848: 3838: 3836: 3835: 3828: 3821: 3813: 3807: 3806: 3801: 3796: 3785: 3784:External links 3782: 3781: 3780: 3765: 3759: 3744: 3738: 3723: 3717: 3700: 3694: 3676: 3658: 3652: 3634: 3616: 3599: 3596: 3594: 3593: 3572: 3552: 3526: 3506: 3486: 3468: 3443: 3432: 3406: 3385: 3371: 3357: 3350: 3330: 3305: 3291: 3277: 3259: 3242: 3224: 3210: 3189: 3173:(2014-03-29). 3162: 3135: 3103: 3089:(2008-02-22). 3078: 3065:(2014-11-12). 3054: 3030: 3009:(5): 484–497. 2984: 2963: 2949: 2935: 2921: 2900: 2876: 2858: 2833: 2803: 2776: 2747: 2719: 2695: 2688: 2665: 2658: 2638: 2618: 2605:Editors report 2591: 2566: 2532:Daniel Weinreb 2520: 2495: 2478: 2464: 2450: 2426: 2401: 2377: 2352: 2330: 2313: 2296: 2263: 2244: 2223: 2221: 2218: 2217: 2216: 2211: 2206: 2201: 2196: 2191: 2185: 2184: 2168: 2165: 2144: 2141: 2114: 2113: 2106: 2091: 2072: 2066: 2061:, an advanced 2056: 2053: 2050:ergoemacs-mode 2022: 2019: 1945:Main article: 1942: 1939: 1937: 1934: 1897: 1894: 1893: 1892: 1886: 1880: 1861: 1860: 1859: 1848: 1837: 1834: 1813:global-set-key 1802: 1779:. Emacs reads 1757: 1756: 1755: 1745: 1742: 1699:editing server 1667:tiled portions 1654: 1651: 1643:scratch-buffer 1532: 1529: 1389:auto-save-mode 1366: 1365: 1358: 1351: 1336: 1321: 1310: 1303: 1296: 1293:editing cursor 1275:data structure 1270: 1267: 1189: 1186: 1123:word processor 1114: 1111: 1110: 1109: 1103: 1097: 1091: 1085: 1079: 1069: 1063: 1057: 1043: 1037: 1031: 1025: 1008: 1005: 1004: 1003: 997: 967: 957: 951: 942:, for the MIT 937: 923: 911:Perfect Writer 908: 890: 880: 870: 789: 786: 785: 784: 778: 770: 767: 752:and others at 750:Jamie Zawinski 728:Main article: 725: 722: 589:Main article: 586: 583: 573:Early Ads for 514:Daniel Weinreb 452: 449: 447: 444: 381:Editing MACroS 242: 239: 99:user interface 15: 13: 10: 9: 6: 4: 3: 2: 4810: 4799: 4796: 4794: 4791: 4789: 4786: 4784: 4781: 4779: 4776: 4774: 4771: 4769: 4766: 4764: 4761: 4759: 4756: 4754: 4751: 4749: 4746: 4744: 4741: 4739: 4738:1976 software 4736: 4734: 4731: 4729: 4726: 4725: 4723: 4708: 4705: 4703: 4700: 4698: 4697: 4696:Revolution OS 4693: 4691: 4688: 4687: 4685: 4681: 4675: 4672: 4670: 4667: 4665: 4664:John Sullivan 4662: 4660: 4657: 4655: 4652: 4650: 4647: 4645: 4642: 4640: 4637: 4635: 4632: 4631: 4629: 4625: 4619: 4618: 4614: 4612: 4609: 4607: 4604: 4602: 4599: 4597: 4594: 4592: 4589: 4587: 4584: 4582: 4579: 4576: 4572: 4569: 4567: 4564: 4562: 4559: 4557: 4554: 4552: 4549: 4547: 4544: 4542: 4539: 4537: 4534: 4532: 4529: 4527: 4524: 4522: 4519: 4517: 4514: 4512: 4509: 4507: 4504: 4502: 4499: 4497: 4494: 4492: 4489: 4487: 4484: 4482: 4479: 4477: 4474: 4472: 4469: 4467: 4464: 4462: 4459: 4457: 4454: 4452: 4449: 4447: 4444: 4441: 4437: 4434: 4433: 4431: 4427: 4421: 4418: 4416: 4413: 4411: 4408: 4406: 4403: 4399: 4396: 4394: 4391: 4390: 4389: 4386: 4385: 4383: 4379: 4373: 4370: 4366: 4365:Latin America 4363: 4361: 4358: 4356: 4353: 4352: 4351: 4348: 4346: 4345:GNU Manifesto 4343: 4342: 4340: 4336: 4332: 4325: 4320: 4318: 4313: 4311: 4306: 4305: 4302: 4290: 4282: 4280: 4272: 4271: 4268: 4262: 4259: 4257: 4254: 4252: 4249: 4247: 4244: 4243: 4241: 4237: 4227: 4224: 4222: 4219: 4217: 4214: 4212:David Reitter 4211: 4209: 4206: 4204: 4203:Daniel Murphy 4201: 4199: 4196: 4194: 4191: 4189: 4188:James Gosling 4186: 4184: 4181: 4179: 4176: 4174: 4173:Thomas Dickey 4171: 4170: 4168: 4164: 4158: 4155: 4153: 4150: 4148: 4145: 4143: 4140: 4138: 4135: 4133: 4130: 4128: 4125: 4124: 4122: 4120: 4119:Organizations 4116: 4113: 4111: 4107: 4101: 4098: 4096: 4093: 4092: 4090: 4086: 4080: 4077: 4075: 4072: 4070: 4067: 4065: 4062: 4060: 4057: 4055: 4052: 4050: 4047: 4045: 4042: 4040: 4037: 4035: 4032: 4030: 4027: 4025: 4022: 4020: 4017: 4015: 4014: 4010: 4008: 4005: 4003: 4000: 3999: 3997: 3993: 3988: 3974: 3971: 3969: 3966: 3964: 3961: 3959: 3956: 3954: 3951: 3949: 3948:Multics Emacs 3946: 3944: 3941: 3939: 3936: 3934: 3931: 3929: 3926: 3924: 3921: 3917: 3914: 3913: 3912: 3911:Gosling Emacs 3909: 3907: 3904: 3902: 3899: 3897: 3894: 3893: 3891: 3887: 3881: 3878: 3876: 3873: 3872: 3870: 3868: 3863: 3859: 3856: 3854: 3850: 3846: 3842: 3834: 3829: 3827: 3822: 3820: 3815: 3814: 3811: 3805: 3802: 3800: 3797: 3793: 3788: 3787: 3783: 3771: 3766: 3762: 3756: 3752: 3751: 3745: 3741: 3739:0-596-00648-9 3735: 3731: 3730: 3724: 3720: 3718:1-56592-261-1 3714: 3709: 3708: 3701: 3697: 3695:1-882114-56-6 3691: 3688:. GNU Press. 3687: 3686: 3681: 3677: 3667: 3663: 3659: 3655: 3653:1-882114-85-X 3649: 3645: 3644: 3639: 3635: 3633: 3630: 3625: 3621: 3617: 3615: 3610: 3606: 3602: 3601: 3597: 3582: 3576: 3573: 3562: 3556: 3553: 3542: 3541: 3536: 3530: 3527: 3522: 3521: 3516: 3510: 3507: 3496: 3490: 3487: 3483: 3478: 3472: 3469: 3457: 3453: 3447: 3444: 3441: 3436: 3433: 3420: 3416: 3410: 3407: 3395: 3389: 3386: 3381: 3375: 3372: 3367: 3361: 3358: 3353: 3351:0-13-516972-0 3347: 3343: 3342: 3334: 3331: 3319: 3315: 3309: 3306: 3301: 3295: 3292: 3287: 3281: 3278: 3274: 3269: 3263: 3260: 3256: 3252: 3246: 3243: 3240: 3236: 3233: 3228: 3225: 3220: 3214: 3211: 3200: 3193: 3190: 3186: 3176: 3172: 3171:Raymond, Eric 3166: 3163: 3152: 3151: 3146: 3139: 3136: 3125:on 2008-05-23 3124: 3120: 3119: 3118:Network World 3114: 3107: 3104: 3092: 3088: 3082: 3079: 3068: 3064: 3063:Raymond, Eric 3058: 3055: 3044: 3040: 3034: 3031: 3026: 3022: 3017: 3012: 3008: 3004: 3003: 2998: 2994: 2988: 2985: 2981: 2979: 2973: 2967: 2964: 2959: 2953: 2950: 2945: 2939: 2936: 2931: 2925: 2922: 2918: 2916: 2911: 2904: 2901: 2887: 2880: 2877: 2873: 2868: 2862: 2859: 2848: 2844: 2837: 2834: 2819: 2818: 2810: 2808: 2804: 2800: 2795: 2791: 2787: 2780: 2777: 2765: 2761: 2757: 2751: 2748: 2744: 2734:on 2014-11-26 2733: 2729: 2723: 2720: 2706: 2705:"Essential E" 2699: 2696: 2691: 2689:0-596-00287-4 2685: 2681: 2680: 2675: 2674:Williams, Sam 2669: 2666: 2661: 2659:1-56592-152-6 2655: 2651: 2650: 2642: 2639: 2634: 2633: 2628: 2622: 2619: 2606: 2602: 2595: 2592: 2580: 2576: 2570: 2567: 2561: 2555: 2547: 2543: 2539: 2533: 2529: 2524: 2521: 2509: 2505: 2499: 2496: 2492: 2488: 2482: 2479: 2474: 2468: 2465: 2460: 2454: 2451: 2440: 2436: 2430: 2427: 2416: 2415:lists.gnu.org 2412: 2405: 2402: 2391: 2387: 2381: 2378: 2367: 2363: 2356: 2353: 2340: 2334: 2331: 2327: 2323: 2317: 2314: 2310: 2306: 2300: 2297: 2286:on 2013-10-24 2285: 2281: 2274: 2272: 2270: 2268: 2264: 2259: 2253: 2251: 2249: 2245: 2240: 2239: 2231: 2229: 2225: 2219: 2215: 2212: 2210: 2207: 2205: 2202: 2200: 2197: 2195: 2192: 2190: 2187: 2186: 2182: 2171: 2166: 2164: 2162: 2158: 2154: 2150: 2142: 2140: 2138: 2134: 2129: 2127: 2123: 2119: 2107: 2104: 2100: 2096: 2092: 2077: 2073: 2067: 2064: 2057: 2054: 2047: 2046: 2045: 2043: 2037: 2035: 2034: 2028: 2020: 2018: 2016: 2012: 2010: 2003: 2001: 1993: 1989: 1985: 1981: 1978: 1974: 1970: 1966: 1962: 1958: 1954: 1948: 1940: 1935: 1933: 1931: 1926: 1924: 1920: 1916: 1912: 1907: 1903: 1895: 1890: 1887: 1884: 1881: 1874: 1866: 1862: 1849: 1842: 1838: 1835: 1806: 1803: 1797: 1796: 1786: 1781:early-init.el 1758: 1752: 1751: 1748: 1747: 1743: 1741: 1739: 1735: 1734:dumb terminal 1730: 1728: 1724: 1719: 1707: 1704: 1700: 1695: 1693: 1687: 1684: 1680: 1676: 1672: 1668: 1664: 1660: 1652: 1650: 1636: 1606: 1538: 1530: 1528: 1520: 1469: 1461: 1431: 1429: 1421: 1401: 1396: 1394: 1386: 1383:, etc.), and 1382: 1378: 1374: 1370: 1363: 1359: 1356: 1352: 1349: 1345: 1341: 1338:The buffer's 1337: 1334: 1333:executed from 1330: 1326: 1322: 1319: 1315: 1312:The name and 1311: 1308: 1304: 1301: 1297: 1294: 1290: 1286: 1285: 1284: 1282: 1281: 1276: 1268: 1266: 1264: 1260: 1256: 1252: 1248: 1244: 1240: 1234: 1232: 1228: 1223: 1219: 1215: 1211: 1207: 1203: 1199: 1195: 1187: 1185: 1183: 1179: 1175: 1170: 1165: 1163: 1159: 1155: 1151: 1147: 1143: 1139: 1136: 1132: 1128: 1124: 1120: 1112: 1107: 1104: 1101: 1098: 1095: 1092: 1089: 1086: 1083: 1080: 1073: 1070: 1067: 1064: 1061: 1060:IntelliJ IDEA 1058: 1055: 1051: 1047: 1044: 1041: 1040:GNOME Builder 1038: 1035: 1032: 1029: 1028:Eclipse (IDE) 1026: 1023: 1019: 1015: 1011: 1010: 1006: 1001: 998: 995: 991: 987: 983: 979: 975: 971: 968: 965: 961: 958: 955: 952: 949: 945: 941: 938: 935: 931: 927: 924: 921: 916: 912: 909: 906: 902: 898: 894: 891: 888: 884: 881: 878: 874: 871: 868: 865: 864: 863: 860: 857: 853: 852:minicomputers 849: 845: 837: 834:running in a 833: 829: 823: 820: 817:5.3. Editing 816: 812: 811: 805: 798: 794: 787: 782: 779: 776: 775: 774: 768: 766: 764: 759: 758:free software 755: 751: 744: 740: 736: 731: 723: 721: 719: 709: 705: 703: 699: 695: 691: 690: 685: 680: 678: 674: 669: 667: 663: 659: 654: 652: 651:rapid release 648: 644: 640: 636: 632: 629:and provides 628: 623: 622:free software 616: 611: 605: 602:running in a 601: 597: 592: 584: 582: 580: 576: 571: 569: 565: 561: 557: 556:Gosling Emacs 553: 549: 545: 544:James Gosling 541: 539: 538:Richard Soley 535: 531: 530:Multics Emacs 527: 523: 519: 515: 511: 507: 503: 499: 495: 487: 486:Gosling Emacs 483: 479: 478:James Gosling 475: 469: 468:EINE and ZWEI 465: 464:Lisp machines 461: 457: 450: 445: 443: 441: 437: 433: 429: 425: 421: 414: 410: 408: 403: 401: 397: 393: 390: 386: 385:E with MACroS 382: 377: 373: 369: 365: 360: 357: 353: 348: 346: 342: 338: 334: 330: 326: 322: 317: 315: 311: 307: 303: 299: 295: 291: 287: 279: 274: 268:David A. Moon 266: 260: 256: 252: 247: 240: 238: 236: 232: 228: 224: 220: 216: 214: 210: 206: 202: 197: 195: 191: 187: 186:David A. Moon 182: 180: 179: 174: 173: 168: 167: 162: 161: 160:Conway's Life 156: 155: 150: 149: 144: 140: 137:integration, 136: 132: 128: 124: 120: 119:remote access 116: 112: 108: 104: 100: 95: 93: 89: 88:extensibility 85: 81: 73: 66: 39: 33: 26: 22: 4694: 4683:Other topics 4669:Nagarjuna G. 4627:Contributors 4616: 4591:GNU LilyPond 4551:GNU Electric 4476:Build system 4011: 3844: 3773:. Retrieved 3749: 3728: 3706: 3684: 3669:. Retrieved 3642: 3623: 3608: 3598:Bibliography 3585:. Retrieved 3575: 3564:. Retrieved 3555: 3544:. Retrieved 3538: 3529: 3518: 3509: 3498:. Retrieved 3489: 3480: 3471: 3459:. Retrieved 3455: 3446: 3435: 3423:. Retrieved 3419:the original 3409: 3397:. Retrieved 3388: 3374: 3360: 3340: 3333: 3322:. Retrieved 3320:. 2007-05-11 3317: 3308: 3294: 3280: 3271: 3262: 3254: 3245: 3227: 3213: 3202:. Retrieved 3192: 3184: 3178:. Retrieved 3165: 3154:. Retrieved 3150:The Register 3148: 3138: 3127:. Retrieved 3123:the original 3116: 3106: 3095:. Retrieved 3081: 3070:. Retrieved 3057: 3046:. Retrieved 3033: 3006: 3000: 2987: 2977: 2975: 2966: 2952: 2938: 2924: 2914: 2913: 2909: 2903: 2892:. Retrieved 2879: 2870: 2861: 2850:. Retrieved 2846: 2836: 2825:. Retrieved 2816: 2797: 2794:the original 2789: 2779: 2768:. Retrieved 2763: 2750: 2742: 2736:. Retrieved 2732:the original 2722: 2711:. Retrieved 2698: 2678: 2668: 2648: 2641: 2630: 2621: 2609:. Retrieved 2604: 2594: 2583:. Retrieved 2581:. 2006-12-11 2578: 2569: 2545: 2538:Weinreb, Dan 2523: 2511:. Retrieved 2498: 2490: 2487:"Amusements" 2481: 2467: 2453: 2442:. Retrieved 2429: 2418:. Retrieved 2414: 2404: 2393:. Retrieved 2390:onlisp.co.uk 2389: 2380: 2369:. Retrieved 2365: 2355: 2343:. Retrieved 2333: 2325: 2316: 2308: 2299: 2288:. Retrieved 2284:the original 2237: 2152: 2148: 2146: 2132: 2130: 2115: 2038: 2030: 2024: 2006: 2004: 1999: 1982:. ("Using a 1968: 1955:, formed by 1952: 1950: 1927: 1905: 1901: 1899: 1888: 1882: 1864: 1840: 1839:Configuring 1828:'ibuffer 1805:Key bindings 1731: 1698: 1696: 1688: 1682: 1678: 1674: 1670: 1665:, which are 1662: 1656: 1536: 1534: 1467: 1459: 1432: 1399: 1397: 1384: 1372: 1368: 1367: 1361: 1354: 1347: 1343: 1339: 1327:, where any 1324: 1317: 1306: 1299: 1288: 1278: 1272: 1235: 1191: 1168: 1166: 1161: 1116: 1046:GNU Readline 980:. A part of 944:Lisp Machine 861: 848:workstations 841: 808: 772: 747: 714: 687: 683: 681: 670: 657: 655: 646: 642: 638: 634: 619: 604:text console 578: 572: 542: 517: 516:, and Sine ( 510:Lisp machine 505: 497: 491: 436:Earl Killian 416: 412: 406: 404: 398:, a popular 384: 380: 371: 367: 363: 361: 349: 340: 328: 323:visited the 318: 283: 217: 198: 183: 176: 170: 164: 158: 152: 146: 96: 84:text editors 79: 37: 36: 4768:Hex editors 4521:GNU TeXmacs 4451:Linux-libre 4331:GNU Project 4208:Russ Nelson 3958:GNU TeXmacs 3535:"Spacemacs" 3366:"Init file" 3039:"GNU Emacs" 2872:ZWEI/Zmacs. 2611:22 November 2366:www.jwz.org 2345:24 November 2199:GNU TeXmacs 2143:Terminology 2133:Emacs pinky 2021:Emacs pinky 1873:preferences 1852:~/.emacs.d/ 1841:event hooks 1639:M-s f C-M-s 1385:minor modes 1377:editing hex 1373:Major modes 1335:by default; 1231:native code 1154:source code 1131:Ghostscript 1119:text editor 1050:line editor 1022:Control key 1018:Command key 978:Common Lisp 822:source code 662:Markus Hess 432:Kent Pitman 392:hacker koan 306:line editor 227:editor wars 205:GNU Project 141:feeds, and 4722:Categories 4581:GNU Health 4526:GNU Octave 4256:Editor war 4095:Emacs Lisp 3938:MicroEMACS 3867:derivative 3775:2012-02-26 3671:2007-02-01 3587:2009-11-08 3583:. Catb.org 3566:2015-04-14 3546:2015-04-20 3500:2018-09-01 3425:29 January 3399:29 January 3324:2019-08-18 3204:2012-10-02 3180:2017-11-25 3156:2017-11-25 3129:2017-11-25 3097:2017-11-25 3072:2017-11-25 3048:2017-11-25 2894:2012-09-09 2852:2010-05-01 2827:2011-01-07 2770:2007-09-14 2738:2014-05-30 2713:2020-04-19 2585:2007-08-22 2444:2009-04-04 2420:2024-04-29 2395:2024-07-24 2371:2023-07-31 2290:2012-02-26 2220:References 2042:proper use 2000:Cult of vi 1947:Editor war 1765:~/emacs.el 1416:expression 1348:minor mode 1344:major mode 1202:Emacs Lisp 1150:paragraphs 1088:Multi-Edit 994:Clozure CL 974:Spice Lisp 964:SWI-Prolog 867:MicroEMACS 754:Lucid Inc. 718:committers 677:Emacs Lisp 631:Emacs Lisp 389:apocryphal 376:Guy Steele 352:paper tape 286:MIT AI Lab 131:multimedia 25:Emacs Lisp 4649:Brian Fox 4601:GNU Chess 4531:GNU Taler 4516:GNU Emacs 4471:findutils 4466:coreutils 4261:Spacemacs 4127:Honeywell 4110:Community 4088:Internals 4024:Emacspeak 3875:GNU Emacs 3622:(1981) . 2513:11 August 2147:The word 2124:, or the 2095:space bar 2084:evil-mode 2080:space bar 2076:Spacemacs 2059:evil-mode 1992:newsgroup 1865:customize 1683:mode line 1393:focussing 1320:(if any); 1222:functions 1218:variables 1194:functions 1158:functions 1146:sentences 1094:KornShell 990:LispWorks 887:UNIX-like 797:uEmacs/Pk 684:Cathedral 666:superuser 600:GNU Emacs 591:GNU Emacs 585:GNU Emacs 579:CCA EMACS 566:and used 534:Honeywell 488:) in 1981 341:Control-R 308:known as 219:GNU Emacs 92:GNU Emacs 32:GNU Emacs 4571:Gnuzilla 4486:binutils 4440:variants 4429:Software 4381:Licenses 4246:Conkeror 4193:Jim Hall 4178:Paul Fox 4157:UniPress 4054:Org-mode 3916:Mocklisp 3901:Freemacs 3682:(2004). 3664:(2002). 3640:(2002). 3607:(1978). 3461:27 March 3235:Archived 3043:Open Hub 2995:(1988). 2758:(1987). 2676:(2002). 2607:. Debian 2554:citation 2194:Conkeror 2167:See also 2088:god-mode 2069:god-mode 1980:anathema 1930:tutorial 1856:~/elisp/ 1761:~/.emacs 1703:headless 1460:at point 1318:visiting 1263:git tree 1227:bytecode 1138:semantic 1113:Features 960:PceEmacs 948:ZetaLisp 926:Freemacs 920:WordStar 889:systems. 741:21.5 on 658:de facto 568:Mocklisp 554:, wrote 550:and the 407:de facto 288:, whose 213:branched 203:for the 127:outlines 4617:more... 4501:GNUstep 4338:History 4059:Planner 3923:Hemlock 3896:Epsilon 3581:"VAXen" 3482:muscle. 3025:6956966 2930:"Emacs" 2153:emacsen 1988:penance 1967:as the 1959:, is a 1936:Culture 1793:init.el 1663:windows 1597:⇧ Shift 1549:⇧ Shift 1472:Control 1400:command 1277:is the 1259:VS Code 1184:(DOS). 976:, then 970:Hemlock 954:Epsilon 877:OpenBSD 815:OpenBSD 675:called 428:TOPS-20 354:on the 333:WYSIWYG 241:History 109:of the 107:dialect 4596:GNU Go 4586:GNUmed 4575:IceCat 4561:GNUnet 4355:Europe 4166:People 4069:RefTeX 4013:Dunnet 4002:AUCTeX 3880:XEmacs 3757:  3736:  3715:  3692:  3650:  3540:GitHub 3520:GitHub 3348:  3023:  2686:  2656:  2031:Emacs 1923:Python 1921:, and 1883:Themes 1877:.emacs 1869:.emacs 1789:.emacs 1771:, and 1723:screen 1714:VISUAL 1710:EDITOR 1706:daemon 1679:window 1671:frames 1635:regexp 1583:, and 1559:, and 1462:. The 1428:locale 1412:region 1408:buffer 1307:region 1291:: the 1280:buffer 1253:, and 1082:MATLAB 905:Sprint 836:Debian 781:Meadow 763:XEmacs 739:XEmacs 730:XEmacs 724:XEmacs 528:wrote 500:) and 438:, and 420:ported 400:Boston 337:hacker 300:(ITS) 294:PDP-10 209:XEmacs 178:Tetris 175:, and 172:Dunnet 123:e-mail 103:macros 4728:Emacs 4606:Gnash 4536:GNU R 4456:glibc 4360:India 4239:Other 4074:SLIME 4064:rcirc 4049:Magit 4007:Dired 3995:Modes 3968:Zmacs 3943:MINCE 3889:Other 3845:Emacs 3021:S2CID 2889:(PDF) 2821:(PDF) 2708:(PDF) 2632:ZDNet 2341:. FSF 2161:VAXen 2157:boxen 2149:emacs 2122:thumb 2033:pinky 2007:St I 1973:6-6-6 1889:Modes 1718:stdin 1675:frame 1605:Excel 1561:Hyper 1557:Super 1404:eval- 1369:Modes 1314:inode 1289:point 1182:Edlin 1142:words 1127:LaTeX 1076:jmacs 1048:is a 1000:edwin 986:Zmacs 940:Zmacs 893:MINCE 743:Linux 635:1.x.x 460:Zmacs 424:TENEX 372:macro 356:PDP-1 345:macro 290:PDP-6 166:Snake 148:ELIZA 115:files 80:EMACS 68: 38:Emacs 4611:Guix 4511:Jami 4506:GIMP 4496:GRUB 4461:Bash 4446:Hurd 4100:MULE 4044:Gnus 4029:EMMS 3973:ZWEI 3963:vile 3928:JOVE 3906:EINE 3755:ISBN 3734:ISBN 3713:ISBN 3690:ISBN 3648:ISBN 3632:HTML 3463:2018 3427:2015 3401:2015 3346:ISBN 2764:GARB 2684:ISBN 2654:ISBN 2613:2011 2560:link 2515:2015 2347:2012 2159:and 2131:The 2011:cius 1984:free 1951:The 1919:Perl 1915:Java 1911:Lisp 1902:help 1863:The 1854:and 1738:WIMP 1727:tmux 1725:and 1627:Meta 1623:Ctrl 1613:Meta 1589:Ctrl 1553:Meta 1541:Ctrl 1519:sign 1486:Meta 1353:The 1340:mode 1323:The 1305:The 1300:mark 1298:The 1287:The 1255:YAML 1251:JSON 1229:and 1220:and 1210:Unix 1208:and 1152:and 1012:The 992:and 928:, a 915:CP/M 913:, a 897:CP/M 883:JOVE 850:and 832:JOVE 819:Ruby 807:The 698:DVCS 560:Unix 548:NeWS 522:EINE 502:ZWEI 494:EINE 482:Unix 426:and 368:MACS 292:and 255:TECO 231:Unix 194:TECO 188:and 154:Pong 111:Lisp 21:eMac 4546:GMP 4541:GSL 4491:GDB 4481:GCC 4436:GNU 4079:w3m 4039:eww 4034:ERC 3864:and 3862:GNU 3629:PDF 3614:PDF 3011:doi 2063:Vim 2009:GNU 1819:kbd 1791:or 1712:or 1692:ssh 1593:Alt 1545:Alt 1381:git 1247:XML 1206:GNU 1174:QED 1066:JED 934:KiB 930:DOS 844:MiB 838:box 702:Git 694:CVS 645:to 577:'s 366:or 364:MAC 259:MIT 229:of 139:RSS 135:Git 23:or 4724:: 3933:mg 3537:. 3517:. 3479:. 3454:. 3316:. 3270:. 3253:. 3183:. 3147:. 3115:. 3041:. 3019:. 3007:31 3005:. 2999:. 2978:.N 2974:. 2912:. 2869:. 2845:. 2806:^ 2788:. 2762:. 2741:. 2629:. 2603:. 2577:. 2556:}} 2552:{{ 2544:, 2489:. 2437:. 2413:. 2388:. 2364:. 2324:. 2307:. 2266:^ 2247:^ 2227:^ 2052:). 2002:. 1994:, 1965:vi 1917:, 1913:, 1767:, 1729:. 1601:F9 1585:H- 1581:s- 1579:, 1577:M- 1575:, 1573:S- 1571:, 1569:A- 1567:, 1565:C- 1555:, 1551:, 1547:, 1543:, 1524:-7 1507:?f 1457:?f 1449:?f 1410:, 1329:OS 1249:, 1178:ed 1148:, 1144:, 1129:, 1054:vi 873:mg 810:mg 704:. 647:13 434:, 316:. 314:ed 223:vi 207:. 181:. 169:, 163:, 157:, 151:, 133:, 129:, 125:, 121:, 117:, 50:iː 4577:) 4573:( 4442:) 4438:( 4323:e 4316:t 4309:v 3832:e 3825:t 3818:v 3778:. 3763:. 3742:. 3721:. 3698:. 3674:. 3656:. 3590:. 3569:. 3549:. 3503:. 3465:. 3429:. 3403:. 3382:. 3368:. 3354:. 3327:. 3302:. 3288:. 3221:. 3207:. 3159:. 3132:. 3100:. 3075:. 3051:. 3027:. 3013:: 2960:. 2946:. 2897:. 2855:. 2830:. 2773:. 2716:. 2692:. 2662:. 2635:. 2615:. 2588:. 2564:. 2562:) 2517:. 2475:. 2461:. 2447:. 2423:. 2398:. 2374:. 2349:. 2293:. 2260:. 2241:. 2090:. 1847:) 1831:) 1825:) 1816:( 1810:( 1631:s 1629:+ 1625:+ 1620:f 1617:s 1615:+ 1599:+ 1595:+ 1591:+ 1515:1 1510:) 1504:7 1498:( 1493:f 1490:7 1488:+ 1482:f 1479:7 1476:u 1474:+ 1464:1 1452:) 1446:1 1440:( 1435:f 1350:s 1295:; 1078:. 1024:. 966:. 950:. 922:. 879:. 643:1 639:1 627:C 564:C 504:( 496:( 484:( 329:E 65:/ 62:s 59:k 56:æ 53:m 47:ˈ 44:/ 40:( 34:. 27:.

Index

eMac
Emacs Lisp
GNU Emacs
/ˈmæks/

text editors
extensibility
GNU Emacs
user interface
macros
dialect
Lisp
files
remote access
e-mail
outlines
multimedia
Git
RSS
collaborative editing
ELIZA
Pong
Conway's Life
Snake
Dunnet
Tetris
David A. Moon
Guy L. Steele Jr.
TECO
Richard Stallman

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.