All Projects → pierre-lecocq → Emacs4developers

pierre-lecocq / Emacs4developers

A document to help developers to use Emacs as a developer

Projects that are alternatives of or similar to Emacs4developers

dotfiles
My personal app/env configs and dotfiles.
Stars: ✭ 27 (-93.72%)
Mutual labels:  development, configuration, developer-tools
android-trinity
android-trinity is tiny proactive framework with much of the scaffolding code required to start a new Android Application.
Stars: ✭ 44 (-89.77%)
Mutual labels:  development, developer-tools
App Tutorial
Tutorial app which is built in the tutorial
Stars: ✭ 29 (-93.26%)
Mutual labels:  tutorial, development
hapi-dev-errors
A hapi plugin to return better error details and skip the look at command line to catch the issue.
Stars: ✭ 58 (-86.51%)
Mutual labels:  development, developer-tools
Emacs 101 Beginner Survival Guide
Emacs 101 新手求生指南 - 一本讓你學 Emacs 不再學得靠北靠母的美好的新手求生指南
Stars: ✭ 472 (+9.77%)
Mutual labels:  tutorial, emacs
Emacs Elisp Programming
Tutorial about programming Elisp and Emacs text editor customization.
Stars: ✭ 548 (+27.44%)
Mutual labels:  tutorial, emacs
myke
make with yaml: development tasks made simple with golang, yaml and many ingredients
Stars: ✭ 67 (-84.42%)
Mutual labels:  development, developer-tools
Aiohttp Devtools
dev tools for aiohttp
Stars: ✭ 202 (-53.02%)
Mutual labels:  developer-tools, development
Maildev
📫 SMTP Server + Web Interface for viewing and testing emails during development.
Stars: ✭ 3,102 (+621.4%)
Mutual labels:  developer-tools, development
Serverlessbydesign
A visual approach to serverless development. Think. Build. Repeat.
Stars: ✭ 254 (-40.93%)
Mutual labels:  developer-tools, development
Takeoff
A rapid development environment using docker for convenience.
Stars: ✭ 271 (-36.98%)
Mutual labels:  developer-tools, development
Vim Practice
💘 Vim is awesome! Here is my practice and study log.
Stars: ✭ 452 (+5.12%)
Mutual labels:  tutorial, emacs
Httpie
As easy as /aitch-tee-tee-pie/ 🥧 Modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. https://twitter.com/httpie
Stars: ✭ 53,052 (+12237.67%)
Mutual labels:  developer-tools, development
Ethereum Development With Go Book
📖 A little book on Ethereum Development with Go (golang)
Stars: ✭ 754 (+75.35%)
Mutual labels:  tutorial, development
Awesome Ci
List of Continuous Integration services
Stars: ✭ 2,737 (+536.51%)
Mutual labels:  developer-tools, development
Developer Roadmap Guide 2018
Stars: ✭ 344 (-20%)
Mutual labels:  developer-tools, development
Okteto
Develop your applications directly in your Kubernetes Cluster
Stars: ✭ 1,937 (+350.47%)
Mutual labels:  developer-tools, development
Devspace
DevSpace - The Fastest Developer Tool for Kubernetes ⚡ Automate your deployment workflow with DevSpace and develop software directly inside Kubernetes.
Stars: ✭ 2,559 (+495.12%)
Mutual labels:  developer-tools, development
init-macOS-dev
init my macOS development environment
Stars: ✭ 14 (-96.74%)
Mutual labels:  development, developer-tools
Fiddler Plus
自定义的Fiddler规则,多环境切换、解决跨域开发、快速调试线上代码必备|高效调试分析利器
Stars: ✭ 325 (-24.42%)
Mutual labels:  developer-tools, configuration

#+TITLE: Emacs for developers #+AUTHOR: Pierre Lecocq #+DESCRIPTION: Learn using Emacs as a developer #+KEYWORDS: emacs, developer #+STARTUP: showall

  • 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. [[./chapters/01-introduction.org][Introduction]]
    • 1.1 [[./chapters/01-introduction.org#brief-history][Brief history]]
    • 1.2 [[./chapters/01-introduction.org#how-to-get-emacs][How to get Emacs?]]
    • 1.3 [[./chapters/01-introduction.org#more-than-an-editor][More than an editor]]
    • 1.4 [[./chapters/01-introduction.org#the-perfect-development-tool][The perfect development tool]]
    1. [[./chapters/02-the-basics.org][The basics]]
    • 2.1 [[./chapters/02-the-basics.org#config-files][Config files]]
    • 2.2 [[./chapters/02-the-basics.org#executing-commands][Executing commands]]
    • 2.3 [[./chapters/02-the-basics.org#key-bindings][Key bindings]]
      • 2.3.1 [[./chapters/02-the-basics.org#manipulate-files][Manipulate files]]
      • 2.3.2 [[./chapters/02-the-basics.org#manipulate-the-current-line][Manipulate the current line]]
      • 2.3.3 [[./chapters/02-the-basics.org#selecting-a-region][Selecting a region]]
      • 2.3.4 [[./chapters/02-the-basics.org#commenting][Commenting]]
      • 2.3.5 [[./chapters/02-the-basics.org#windows][Windows]]
      • 2.3.6 [[./chapters/02-the-basics.org#buffers][Buffers]]
      • 2.3.7 [[./chapters/02-the-basics.org#cancel-a-command][Cancel a command]]
      • 2.3.8 [[./chapters/02-the-basics.org#the-most-useless-command][The most useless command]]
    • 2.4 [[./chapters/02-the-basics.org#help][Help!]]
    1. [[./chapters/03-building-your-own-editor.org][Building your own editor]]
    • 3.1 [[./chapters/03-building-your-own-editor.org#first-basic-configuration][First basic configuration]]
    • 3.2 [[./chapters/03-building-your-own-editor.org#general-basic-configuration][General basic configuration]]
    • 3.3 [[./chapters/03-building-your-own-editor.org#backup-files][Backup files]]
    • 3.4 [[./chapters/03-building-your-own-editor.org#setting-up-the-locales][Setting up the locales]]
    • 3.5 [[./chapters/03-building-your-own-editor.org#more-configuration][More configuration]]
    • 3.6 [[./chapters/03-building-your-own-editor.org#modes][Modes]]
    • 3.7 [[./chapters/03-building-your-own-editor.org#package-managers][Package managers]]
    • 3.8 [[./chapters/03-building-your-own-editor.org#some-useful-packages][Some useful packages]]
    • 3.9 [[./chapters/03-building-your-own-editor.org#code-navigation][Code navigation]]
    • 3.10 [[./chapters/03-building-your-own-editor.org#setting-a-color-theme][Setting a color theme]]
    1. [[./chapters/04-emacs-developing-environments.org][Emacs developing environments]]
    • 4.1 [[./chapters/04-emacs-developing-environments.org#emacs-for-ruby-developers][Emacs for Ruby developers]]
    • 4.2 [[./chapters/04-emacs-developing-environments.org#emacs-for-python-developers][Emacs for Python developers]]
    • 4.3 [[./chapters/04-emacs-developing-environments.org#emacs-for-ccobjective-c][Emacs for C/C++/Objective-C developers]]
    • 4.4 [[./chapters/04-emacs-developing-environments.org#emacs-for-go-developers][Emacs for Go developers]]
    • 4.5 [[./chapters/04-emacs-developing-environments.org#emacs-for-php-developers][Emacs for PHP developers]]
    • 4.6 [[./chapters/04-emacs-developing-environments.org#emacs-for-java-developers][Emacs for Java developers]]
    • 4.7 [[./chapters/04-emacs-developing-environments.org#emacs-for-r-and-statistics][Emacs for R and statistics]]
    1. [[./chapters/05-special-features.org][Special features]]
    • 5.1 [[./chapters/05-special-features.org#emacs-as-a-file-manager][Emacs as a file manager]]
    • 5.2 [[./chapters/05-special-features.org#working-locally-vs-remotely][Working locally vs remotely]]
    • 5.3 [[./chapters/05-special-features.org#organize-your-work-write-papers-and-manage-your-agenda][Organize your work, write papers and manage your agenda]]
    • 5.4 [[./chapters/05-special-features.org#emails-in-emacs][Emails in Emacs]]
    • 5.5 [[./chapters/05-special-features.org#some-great-emacs-tips-and-tricks][Some great Emacs tips and tricks]]
    • 5.6 [[./chapters/05-special-features.org#coming-from-other-editors-ie-vim][Coming from other editors (i.e Vim or SublimeText)]]
    1. [[./chapters/06-readings-and-resources.org][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.

[[https://github.com/pierre-lecocq/emacs4developers/tree/master/demo][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 [[http://qsdfgh.com/articles/gnus-configuration-example.html][this dedicated article]]

  • Exports

This document is also available in [[./exports/emacs4developers.org][a single ORG file]], [[./exports/emacs4developers.pdf][PDF]], [[./exports/emacs4developers.odt][ODT]] and [[./exports/emacs4developers.html][HTML]].

  • License

The content of this project itself is licensed under the [[http://creativecommons.org/licenses/by/3.0/us/deed.en_US][Creative Commons Attribution 3.0 license]], and the underlying source code used to format and display that content is licensed under the [[http://opensource.org/licenses/mit-license.php][MIT license]].

Contributors list can be found [[https://github.com/pierre-lecocq/emacs4developers/network/members][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 ([[https://twitter.com/bzg2][@bzg2]]), Dimitri Fontaine ([[https://twitter.com/tapoueh][@tapoueh]]), Julien Danjou ([[https://twitter.com/juldanjou][@juldanjou]]), Sacha Chua ([[https://twitter.com/sachac][@sachac]]), Steve Purcell ([[https://twitter.com/sanityinc][@sanityinc]]), Nic Ferrier ([[https://twitter.com/nicferrier][@nicferrier]]), Avdi Grimm ([[https://twitter.com/avdi][@avdi]]), Magnars ([[https://twitter.com/magnars][@magnars]]), Steve Yegge ([[https://twitter.com/Steve_Yegge][@Steve_Yegge]]), Bozhidar Batsov ([[https://twitter.com/bbatsov][@bbatsov]]), Xah Lee ([[https://twitter.com/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 !

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].