Emacs

Emacs [i ː mæks ] is a family of text editors. The first Emacs implementation was developed by Richard Stallman (along with Guy L. Steele, Jr., and others). It is particularly popular today with GNU Emacs, which can be equipped with its programming in Emacs Lisp programming language with arbitrary extensions. But there are also a variety of other editors that belong to the Emacs family.

GNU Emacs is available as free software under the GNU General Public License and runs on most commonly used today operating systems (Unix, GNU / Linux, Mac OS X and Windows).

Special

Emacs provides a range modes ( engl. modes ), which are helpful in the creation of source code for various programming and markup languages ​​. So you can use Emacs, for example, an HTML editor, which also performs syntax checks.

Syntax highlighting is supported in most of these modes. The text is colored due to the syntax of the edited text (LaTeX, HTML, Perl, Java, and others), allowing the user facilitates orientation. The modes usually offer much more than syntax highlighting: translation operations, syntax checker, debugger, and the like can be called from within Emacs.

In the basic configuration Emacs already has a calendar, several mail and news reader, a built-in shell, games, an FTP client and a web browser. There are also numerous tools that can be integrated into Emacs, including IRC clients, IM clients, address books, audio players, and even web server.

For fun and to demonstrate what is possible with Emacs Lisp, Emacs supports ELIZA with a program of entertainment with a computer-generated " psychological psychotherapist " ( call with "Mx doctor"; "Mx " is, for example, "ESC x "or " Alt -x "). The program converts statements of the user in question to, encourages him to tell more, and suggests life problems of the most general kind of nostalgic Another addition is a text adventure ( "Mx dunnet ").

One can consider Emacs as an environment for programming of special editors; so there is a po -mode, with which you can create translations.

History

Emacs was built in 1976 at MIT, first as a collection of macros for the editor TECO. The name is an abbreviation of "Editor Macros ".

1978/79 ported Bernard Greenberg the editor on the mainframe operating system Multics. He used the MACLISP programming language.

Wrote in 1981 James Gosling the first Emacs for Unix systems in C. The extension language Mocklisp similar to Lisp, but has no structured data types. Gosling limited the spread initially not one, but sold the code later on UniPress that sold this version as UniPress Emacs. Gosling Emacs is characterized by a highly efficient code for text output; Stallman used parts of Gosling code in GNU Emacs, which led to a controversy with UniPress later.

Richard Stallman in 1984 began on a new implementation of Emacs, GNU Emacs to work, which was the first program of the nascent GNU project. Was the license of the program at the beginning of the development of the GNU Emacs General Public License. It was the first copyleft license and the basis for the later-developed GNU General Public License ( GPL). GNU Emacs is for the most part in Emacs Lisp, a dialect of the Lisp programming language 's own programmed. This version of Emacs Lisp is not based on Greenberg's Multics Emacs written in MACLISP, the first Lisp version, and also use completely different data structures. The core is written in a C interpreter for Emacs Lisp. Gerd has Möllmann Version 21 ( 21.1 and 21.2) serves as the main programmer and published. Version 23 was completed in 2009.

As Clifford Stoll revealed enabled a bug in Emacs in 1986 to spying for the KGB hacker Markus Hess breaking into the Lawrence Berkeley National Laboratory.

Variants

From Emacs some derivatives have been developed, which is XEmacs, the project group has long been concerned with the inclusion of GUI elements in Emacs most widely used. It is also known MicroEmacs that shipped with AmigaOS among others. Another clone is qemacs.

Aquamacs by David Reitter is adapted to the Human Interface Guidelines version for Mac OS X. Another version for Mac OS X is the Carbon Emacs by Seiji Zenitani who, like Aquamacs, many additional packages containing pre-installed, but also on the Mac a classic user interface offers.

A very small, but still quite powerful version is Zile. The name is a recursive acronym meaning Zile is lossy Emacs.

Major Enhancements

Humor

Richard Stallman has jokingly raised the Emacs editor to a fun religion, the "Church of Emacs ", and refers to himself as St. IGNUcius. As a creed you have three times "There is no system but GNU, and Linux is one of its kernels. " Say. Plus, there's the newsgroup alt.religion.emacs dedicated to this parody. In response, founded the followers of the competition editor vi the Cult of Vi.

Users have more, facetious interpretations from idiosyncrasies of Emacs derived: Eight Megabytes And Constantly Swapping ( eight megabytes in size and swappt continuous) takes the for that time large memory requirement on the grain, just as Emacs Makes Any Computer Slow ( Emacs makes every computer slow). Escape - Meta -Alt -Control -Shift is an allusion to the key combinations that most of the features of Emacs are to be triggered.

Alluding to the wide range of functions Thomer M. Gil wrote: " Emacs is a great operating system - it lacks a good editor, though. " ( German: Emacs is a great operating system - but lacks a good editor ).

Pros and Cons

The biggest advantages of the editor are to be consistently thought out concept and its good documentation. Each functionality is provided by a single Lisp function that satisfies a well-defined task. This functionality is independent of the existence of a key binding. With Emacs Lisp is also a very mature programming language available, it not only allows you to create your own functions and modes, but also (except for some written in C elementary functions ) to change the existing functionality. The possible adjustments may therefore be considerably deeper than it allows a scripting language that can be added with the only additional functionality to the already existing one.

Since the tasks of copywriting are as diverse as the individuality of the authors, can not be expected without any own initiative for any specific question an answer is already available. Nevertheless, the number of ready solutions, the "out of the box" are available, so overwhelming that a learning Emacs Lisp is initially not absolutely necessary. For frequent use of the editor to pay knowledge in this powerful language but very quickly (in this context, a look at Scheme is recommended to be programmed with the new features for future versions of Emacs ).

The predefined key bindings require for some users who are familiar with other editors, a certain overcoming. While Emacs can also be operated via menus with the mouse, but a significant increase in productivity, which goes far beyond most graphic editors, requires the use of keyboard shortcuts, of which the predefined are also very well thought out. You can, however, not every individual expectation of what designates the individual as pleasant, satisfactory. It is crucial that all assignments can be changed and the number of possible key combinations is not limited.

In Emacs, a search is started by pressing the key combination " Cs ". The corresponding control character S but was sent by many serial terminals for data flow control to the computer. This led in the 1980s to the fact that one of the most common place for Emacs problem messages described an apparently automatically started searching.

Quotes

" Emacs started out as a text editor, Which Became a way of life for many users Because They could do all Their work on a computer while never exiting from Emacs, and Ultimately it Became a religion as well. "

" Emacs started as a text editor, which was a way of life for many people, because you can do all the work so without leaving Emacs, and was ultimately a religion. "

" You Should always keep one principle in mind: Emacs does many things well, but It Is not important for reason did. Emacs is important, Because of the integration of different things you need to do ".

"Do you always aware of: Emacs can do many things very well, but that's not what matters. Emacs is important because it brings different tasks to be performed under one roof. "

270643
de