The features of GNU Emacs include:
- Content-sensitive editing modes, including syntax coloring, for a wide variety of file types including plain text; source code (for pretty much any programming/scripting language you can imagine); LaTeX.
- Complete built-in documentation, including a tutorial for new users.
- Support for many languages and their scripts, including all the European “Latin” scripts, Russian, Greek, Japanese, Chinese, Korean, Thai, Vietnamese, Lao, Ethiopian, and some Indian scripts.
- Highly customizable, using Emacs Lisp code or a graphical customization interface.
- Games such as Tetris, Snake, etc.
- Spell checking as you type or when required (can also just check spelling of comments when in programming modes) with ability to add words.
- A large number of extensions that add other functionality, including a project planner, mail and news reader, calculator (simple or programmable), PDF viewer, web browser, debugger interface, calendar, twitter client and more. Many of these extensions are distributed with GNU Emacs; others are available separately.
After learning a few basic keystroke commands, you can become a lot more productive in Emacs.
When typing a command you can use [TAB] completion, which will complete the command name for you or list the possible commands.
Guide to keys
C-x = (hold [CONTROL], press x, then release [CONTROL])
C-x C-s = (hold [CONTROL], press x, then press s, then release [CONTROL])
M-2 = (hold [ALT], press 2, then release [ALT])
[note M = META usually [ALT] or [ESCAPE] when using [ESCAPE] as META release it before pressing the next key (i.e. M-2 = press and release [ESCAPE] then press 2)].
Sometimes the required action doesn't have an associated key-sequence, in these cases the written command must be used (M-x is pressed followed by the command):
ispell-buffer = (hold [ALT], press x, release [ALT], then type "ispell-buffer" in the mini buffer)
The following is a lookup table of basic commands. Emacs has so many commands it would be impossible to list them all, but hopefully this will be enough to get you started.
|Open file||C-x C-f||find-file|
|Save file||C-x C-s||save-buffer|
|Save as||C-x C-w||write-file|
|Goto line||M-g g||goto-line|
|Goto start of line||C-a||beginning-of-line|
|Goto end of line||C-e||end-of-line|
|Search forwards||C-s search term||isearch-forward search term|
|Repeat last search forwards||C-s C-s||isearch-repeat-forward|
|Search backwards||C-r search term||isearch-backward search term|
|Repeat last search backwards||C-r C-r||isearch-repeat-backward|
|Yank last kill||C-y||yank|
|Yank previous kill||M-y||yank-pop|
|Split window horizontally||C-x 2|
|Split window vertically||C-x 3|
|Swap active window||C-x o|
|Merge windows||C-x 1|
|List buffers||C-x C-b||list-buffers|
|Switch to buffer||C-x b||switch-to-buffer|
|Switch active buffer left||C-x [LEFT]||previous-buffer|
|Switch active buffer right||C-x [RIGHT]||next-buffer|
|Kill Buffer||C-x k||kill-buffer|
|Spell-check current buffer||none||ispell-buffer|
|Spell-check current word||none||ispell-word|
|Goto matching closing bracket||C-M-f|
|Goto matching opening bracket||C-M-b|
|Comment a region||M-;||comment-or-uncomment-region|
Performing other tasks
The simplest (to set up) E-mail client in Emacs, is Rmail, to invoke Rmail press:
To use Rmail for reading E-mail, other than system mail, you will have to use a program to fetch your E-mail from the server, such as fetchmail or offlineimap.
Another option is Gnus, which is primarily a newsreader, but can also be used for reading E-mail, and can be configured to get your E-mails from the server without the aforementioned mail fetching programs, but will take a little more setting up than Rmail.
Mail can send your E-mail, which is invoked with:
You can also specify your: E-mail address, name, signature, etc in your ~/.emacs file, so that it is already filled in when you start composing an E-mail.
Gnus is an outstanding newsreader and can be started by pressing:
To use Gnus, you will first have to setup your ~/.gnus.el file, a brief guide to Gnus is available at: Gnus
ERC is an Emacs IRC client which can be started with:
You must first add the following to your ~/.emacs file:
When you start ERC, you will be asked for some information:
your password (optional)
The commands for ERC are just standard IRC commands.