Emacs is a text editor and more! It has modes for editing any programming language and markup language in use (C, C++, Java, HTML, Latex) and provides syntax highlighting and intelligent screen formating. It has very powerful text editing features: search/replace with regular expressions, editing of binary files showed in hexadecimal, macro recording/execution, and much more. It was written by the legendary open source/free software guru Richard Stallman, and is part of the GNU Project, thought to develop a complete Unix system which is open source/free software. See the GNU Project for more information about Free Software, GNU Project and Emacs.
There are versions of Emacs running any operating systems you could think of.
Emacs work area is comprised of:
The text showed in Emacs windows is stored in buffers. These buffers can have a file associated with them or not.
Emacs commands generally involve the CONTROL key (sometimes labeled CTRL or CTL) or the ESCAPE key (labeled ESC).
C-<chr><chr>. Thus, C-f would be: hold
the CONTROL key and type f.M-<chr>xemacsC-x C-cC-x C-fC-x C-v <RET>C-x C-sC-x sC-x C-w and then type the
file name in the mini-buffer.C-a or
<Home>C-e or
<End>M-< or
C-<Home>M-> or
C-<End>C-x 2C-x 1C-lC-x oC-x b. You can type
TAB to list all available buffers, you can type the
buffer name in the mini-buffer and press TAB for
auto-completion, then you have to type ENTERC-x kBACKSPACEM-BACKSPACEC-kC-x uC-s <word>. To
search for the next occurrence of <word>, type
C-s again. To search the previous occurrence of
<word> type C-r.To stop at the found word,
type ENTER. To cancel the search and
return to the starting point type C-g.C-r <word>.
All the rest of commands are identical as for
C-s.M-% <string>
ENTER <other>C-SPACE marks the
first position of the region. Moving the cursor, modifies the
selected region to be between the marked position and the
current position of the cursor.C-x hM-wC-wC-yC-h i.
<ENTER>lnpM-x manC-u
<number> <command>C-gTABC-u M-qTABM-C-qM-C-\M-left and
M-right or M-C-b and M-C-fM-x comment-region respectively
C-u -1 M-x comment-regionM-x tabify, respective
M-x untabify.C-x C-e
C-q, and then the control character
(C-j is LF - see man ASCII for more
information)C-h
m