Emacs for developers
Emacs for developers
This document will (hopefully) help you to use Emacs as a developer.
Disclaimer
- Work in progress, so stay tuned.
- Exports are handled by the author for the moment and do not reflect the very last changes (but are recent anyway). A scripted solution will be provided soon for contributors.
Contributions or requests
Do not hesitate to send a pull request or open an issue to fix, add, discuss, โฆ etc.
Who is the target of this tutorial
Well, this is a good question. And I wonโt give an answer but some elements of answer.
What is sure is that it is not written for the people thanked below (Bastien, Dimitri, Sacha, Nic, Avdi, and so on โฆ), but what is interseting with Emacs is that even if you are a beginner, an intermediate / advanced user or an every day power user, you can learn from others each time you open a web page or a manual dealing with Emacs.
Therefore, this tutorial is written for people who want to improve their experience. Simple as that. Whatever is their knowledge, their feeling, their usage, their config file size (without any pun), etc โฆ
Remember one thing: Emacs is 30+ years old and brings new users everyday. It is a clue that this is a piece of software that deserve some attention.
Table of contents
- 1. Introduction
- 2. The basics
- 2.1 Config files
- 2.2 Executing commands
- 2.3 Key bindings
- 2.3.1 Manipulate files
- 2.3.2 Manipulate the current line
- 2.3.3 Selecting a region
- 2.3.4 Commenting
- 2.3.5 Windows
- 2.3.6 Buffers
- 2.3.7 Cancel a command
- 2.3.8 The most useless command
- 2.4 Help!
- 3. Building your own editor
- 3.1 First basic configuration
- 3.2 General basic configuration
- 3.3 Backup files
- 3.4 Setting up the locales
- 3.5 More configuration
- 3.6 Modes
- 3.7 Package managers
- 3.8 Some useful packages
- 3.9 Code navigation
- 3.10 Setting a color theme
- 4. Emacs developing environments
- 5. Special features
- 6. Readings and resources
The demo
Here is a video that covers the basics of this tutorial. It is a simple, annoted but efficient demo of a session in Emacs.
Here is the links, the sources and the dedicated config file!
The Gnus case
If you need a detailed and explained Gnus (an Emacs mail reader) configuration example, please refer to this dedicated article
Exports
This document is also available in a single ORG file, PDF, ODT and HTML.
License
The content of this project itself is licensed under the Creative Commons Attribution 3.0 license, and the underlying source code used to format and display that content is licensed under the MIT license.
Contributors list can be found here.
Thanks
I want to thank some of the great people who make Emacs a very intersting piece of software or make its community very active (the sort order is absolutely not important here):
Bastien Guerry (@bzg2), Dimitri Fontaine (@tapoueh), Julien Danjou (@juldanjou), Sacha Chua (@sachac), Steve Purcell (@sanityinc), Nic Ferrier (@nicferrier), Avdi Grimm (@avdi), Magnars (@magnars), Steve Yegge (@Steve_Yegge), Bozhidar Batsov (@bbatsov), Xah Lee (@xah_lee), and many more โฆ
You should check those people and their work over the web, twitter, youtube, โฆ
And thank you for reading this !