All Projects → caiorss → Emacs Elisp Programming

caiorss / Emacs Elisp Programming

Licence: unlicense
Tutorial about programming Elisp and Emacs text editor customization.

Programming Languages

lisp
113 projects
elisp
30 projects

Projects that are alternatives of or similar to Emacs Elisp Programming

Pygame tutorials
Code to go along with lessons at http://kidscancode.org/lessons
Stars: ✭ 363 (-33.76%)
Mutual labels:  tutorial, example
Rxjava2 Android Samples
RxJava 2 Android Examples - Migration From RxJava 1 to RxJava 2 - How to use RxJava 2 in Android
Stars: ✭ 4,950 (+803.28%)
Mutual labels:  tutorial, example
Learning Rust
Rust 学习之路 > Rust Programming Tutorial, include articles, interview, example, problems.
Stars: ✭ 376 (-31.39%)
Mutual labels:  tutorial, example
Blog
gamedev blog
Stars: ✭ 3,076 (+461.31%)
Mutual labels:  tutorial, programming
Emacs 101 Beginner Survival Guide
Emacs 101 新手求生指南 - 一本讓你學 Emacs 不再學得靠北靠母的美好的新手求生指南
Stars: ✭ 472 (-13.87%)
Mutual labels:  tutorial, emacs
Javascript Journey
Source code for blog post Journey from procedural to reactive JavaScript with stops
Stars: ✭ 309 (-43.61%)
Mutual labels:  tutorial, example
Juliabasics
The open source version of book `Julia Programming Basics`
Stars: ✭ 387 (-29.38%)
Mutual labels:  tutorial, programming
Lv examples
Examples, tutorials and applications for the LVGL embedded GUI library
Stars: ✭ 246 (-55.11%)
Mutual labels:  tutorial, example
Vim Practice
💘 Vim is awesome! Here is my practice and study log.
Stars: ✭ 452 (-17.52%)
Mutual labels:  tutorial, emacs
Emacs4developers
A document to help developers to use Emacs as a developer
Stars: ✭ 430 (-21.53%)
Mutual labels:  tutorial, emacs
Avenging
MVP pattern example on Android: no Dagger or RxJava example
Stars: ✭ 279 (-49.09%)
Mutual labels:  tutorial, example
Flutter For Android Developers
Compilation of Flutter materials for Android developers
Stars: ✭ 488 (-10.95%)
Mutual labels:  tutorial, example
Project Minimek
A sample app to demonstrate various useful Redux techniques, accompanying the blog series at http://blog.isquaredsoftware.com/series/practical-redux
Stars: ✭ 266 (-51.46%)
Mutual labels:  tutorial, example
Javascript Idiosyncrasies
A bunch of Javascript idiosyncrasies to beginners.
Stars: ✭ 353 (-35.58%)
Mutual labels:  tutorial, example
Vaporschool
Learn how to build vapor applications from rookie to champion in a constructive way!
Stars: ✭ 259 (-52.74%)
Mutual labels:  tutorial, example
Go Todo Rest Api Example
📚 A RESTful API example for simple todo application with Go
Stars: ✭ 385 (-29.74%)
Mutual labels:  tutorial, example
Wordpress Plugin Boilerplate Tutorial
Tutorials and Examples for WordPress Plugin Boilerplate, a foundation for WordPress Plugin Development.
Stars: ✭ 232 (-57.66%)
Mutual labels:  tutorial, example
Learn X By Doing Y
🛠️ Learn a technology X by doing a project - Search engine of project-based learning
Stars: ✭ 242 (-55.84%)
Mutual labels:  tutorial, programming
Firebase Instagram
📸 Instagram clone with Firebase Cloud Firestore, Expo, and React Native 😁😍
Stars: ✭ 389 (-29.01%)
Mutual labels:  tutorial, example
Espressif
all espressif stuff will committed here
Stars: ✭ 477 (-12.96%)
Mutual labels:  tutorial, example

-- mode: org; --

#+INCLUDE: theme/style.org #+TITLE: Emacs In a Box #+KEYWORDS: emacs, elisp, lisp, programming, eshell, editor, org-mode #+STARTUP: content #+DESCRIPTION: Emacs in self-contained box!

  • Emacs - Elisp Programming and Customization ** Overview

[[file:images/emacs_logo.png][file:images/emacs_logo.png]]

Emacs doesn't need any presentation. Emacs is a software [[https://en.wikipedia.org/wiki/Lisp_machine]["Lisp Machine"]] that provides a programmable text editor, email reader, text web browser, image viwer, calculator, shell, games, easter-eggs and more. Emacs is programmed in Elisp, an Emacs own lisp dialect that is based on [[https://en.wikipedia.org/wiki/Maclisp][MacLisp]], one of oldest lisp dialects, older than Common Lisp and Scheme, created in MIT. Emacs was written in 1976 by the legendary [[https://en.wikipedia.org/wiki/Richard_Stallman][Richard Stallman]]. Despite many incompatibilities with Common Lisp it has many constructs similar to it and n excellent book about Common Lisp that is also useful to understand Elisp and Scheme is [[http://unintelligible.org/onlisp/onlisp.html][On Lisp - by Paul Graham]].

Repository Link

- [[https://github.com/caiorss/Emacs-Elisp-Programming][Github Repository]]
- Short Link: http://tinyurl.com/emacsinabox - Mneumonic: *Emacs In A Box*
- [[http://caiorss.github.io/Emacs-Elisp-Programming][HTML Version - github.io]]

Note:

  • It is a work in progress.
  • You can see this document inside Emacs since it was converted to org-mode, see the file README.org. It can also be exported to html, pdf, github markdown and so on.

Configuration File

The user configuration file, which is executed when Emacs starts, is stored in the directory =/.emacs.d/init.el= or =/.emacs=. The first one is better because it is in the same directory of all emacs configuration files.

The Emacs scratch buffer can be used to test new features and try Emacs codes along with IELM - Emacs Lisp interactive shell.

Emacs Features

  • Run in GUI or in terminal.
  • Programmable "text editor" (Lisp Machine)
  • Support to many programming languages
  • Can run shells and interpreters inside Emacs.
  • Highly customizable
  • Easy task automation
  • Package manager
  • Multiple OS support
  • Remote file editting through ssh. (Tramp mode)
  • Keyboard macros
  • Utilities
    • Calculator
    • Eshell
    • Tramp-mode - Edit remote files and edit as super user (sudo).
    • Shells
    • File manager (dired-mode)
    • Git interface (magit)

Objectives

  • Increase Emacs API discoverability;

  • Empower Emacs users to create their own extensions and customization;

  • Provide self-contained working examples about Emacs API and Elisp programming.

  • Unleash all Emacs potentials.

** Contents *** Elisp Programing

  • [[file:Elisp_Programming.org][Elisp Programming]] Elisp programming guide and documentation by examples.

  • [[file:Elisp_Snippets.org][Elisp Snippets]] Elisp code examples grouped by category.

*** Key bindings / shortcuts

  • [[file:Keybindings.org][Emacs Key bindings]] Emacs standard keybindings and useful commands.

  • [[file:Emacs_Key_Bindings_Elisp.org][Emacs key bindings for Elisp]] Emacs key bindings and commands for Elisp (Emacs' lisp) development.

*** Settings and Packages

  • [[file:Customization.org][Customization]] Emacs settings and customization.

  • [[file:Packages.org][Packages and Development Environments]] Useful Emacs packages and Programming language specific configurations and packages.

*** Emacs Utilities

  • [[file:Utilities.org][Utilities]] Emacs utilities and goodness like Calculator, Magit, Helm and so on.

  • [[file:Org-Mode.org][Org-mode]] Org-mode notes.

  • [[file:Org-mode-recipes.org][Org-mode recipes]] - Org-mode literate programming recipes.

*** Miscellaneous

  • [[file:Command_Line_and_Scripting.org][Command Line and Scripting]] Command line interaction with Emacs.

  • [[file:Eshell.org][Eshell]] Eshell - Multi-platform unix shell written in Elisp highly integrated with Emacs and with several platform independent shell commands such as ls, pwd, cp, mv implemented in Elisp.

  • [[file:Emacs_On_Windows.org][Emacs on Microsoft Windows]] Emacs settings for Microsoft Windows OS.

  • [[file:Bookmarks.org][Bookmarks]] - Emacs bookmarks to Wikis, tutorials, videos, codes and etc.

** TODO Future Work

  • [ ] Comint Mode / interacting with REPLs and subprocesses

  • [ ] Network API - Interacting with servers.

  • [ ] Add cross references

  • [ ] Emacs Widget Interfaces and Emacs User Interfaces

  • [ ] Add more examples about org-mode API.

  • [X] Add a better layout.

** Downloading it

Download manually

Automated download

#+BEGIN_SRC sh curl -L https://github.com/caiorss/Emacs-Elisp-Programming/archive/gh-pages.zip -o elisp.zip unzip -e elisp.zip rm -rf elisp.zip mv Emacs-Elisp-Programming-gh-pages Emacs-Elisp-Programming firefox Emacs-Elisp-Programming/index.html & #+END_SRC

View the extracted repository contents:

#+BEGIN_SRC sh $ ls Emacs-Elisp-Programming/ images/ Elisp_Snippets2.org index.html theme/ Elisp_Snippets.html Keybindings.html Customization.html Elisp_Snippets.org Keybindings.org Customization.org Emacs_Key_Bindings_Elisp.html README.org Development_Environment.html Emacs_Key_Bindings_Elisp.org Resources.html Development_Environment.org Emacs_On_Windows.html Resources.org Elisp_Programming.html Emacs_On_Windows.org Utilities.html Elisp_Programming.org Eshell.html Utilities.org Elisp_Snippets2.html Eshell.org #+END_SRC

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].