https://github.com/ericdallo/emacs-talk
An Emacs introduction using org-mode for presentation
https://github.com/ericdallo/emacs-talk
emacs org org-mode slide talk
Last synced: 8 months ago
JSON representation
An Emacs introduction using org-mode for presentation
- Host: GitHub
- URL: https://github.com/ericdallo/emacs-talk
- Owner: ericdallo
- Created: 2020-06-08T16:21:47.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2021-09-12T00:54:13.000Z (almost 5 years ago)
- Last Synced: 2025-05-18T15:44:20.958Z (about 1 year ago)
- Topics: emacs, org, org-mode, slide, talk
- Homepage:
- Size: 1.02 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
Awesome Lists containing this project
README
#+TITLE: Emacs talk
#+AUTHOR: @ericdallo
* Emacs Talk
[[file:images/logo.png]]
* History
- Created by Richard Stallman, founder of the GNU foundation.
- First release in _1985_
- Emacs is among the oldest open source projects *still under development*!
* Why should I give a try?
Why Emacs? - https://batsov.com/articles/2011/11/19/why-emacs/
[[file:images/real-programmers.png][file:images/real-programmers.png]]
- Shortcuts for everything!
- Very extensible
* Core
- Single thread (yet)
- 20% in C for performances reasons
- 80% in *Elisp* (Emacs lisp)
* Elisp
- A Lisp dialect programming language
#+BEGIN_SRC emacs-lisp
(defun emacs-talk--print-message ()
"Print a hello world message."
(message "Hello from emacs-talk"))
(defun emacs-talk-hello ()
"Print a emacs message on minibuffer"
(interactive)
(emacs-talk--print-message))
#+END_SRC
* Elisp
- All is done inside buffers
#+BEGIN_SRC emacs-lisp
(defun emacs-talk--is-a-flutter-project ()
(with-temp-buffer
(insert-file-contents "pubspec.yaml")
(goto-char (point-min))
(re-search-forward "sdk\s*:\s*flutter" nil t)))
#+END_SRC
* Packages sources
*** ELPA
- Emacs official packages
*** MELPA
- *4597* packages!
- Community driven
- Open source on Github
* Keybindings +hell?+
~M~ - Meta key (Command or Alt)
~C~ - Control
~S~ - Shift
~SPC~ - Space
~RET~ - Return ()
~M-x~ - execute-command
~M-x~ ~package-install~ - Install a package
~M-X~ ~describe-bindings~ - Show all available keybindings
~C-x C-s~ - Save buffer
* Configuration
- Everything starts at ~~/.emacs.d/init.el~
- Changing variables value
#+BEGIN_SRC emacs-lisp
(setq emacs-talk-is-awesome t)
#+END_SRC
* Frames
Running instances of Emacs
*** Windows
Views for buffers
**** Buffers
Display contents of a file
Display outputs of programs
* Modes
*** Major mode
- Only 1 major mode per buffer
- Examples: ~dart-mode~, ~java-mode~, ~clojure-mode~
*** Minor modes
- Many minor modes per buffer
- Examples: ~cider-mode~, ~evil-mode~, ~lsp-mode~
* Emacs roots 😰
[[file:images/emacs-raw.png]] [[file:images/frame-window-buffer.png]]
* Doom emacs [[file:images/yay-evil.png]]
[[file:images/doom-emacs.png]]
* Spacemacs
[[file:images/spacemacs.png]]
* Thank you!
Any questions?
Slides - [[https://github.com/ericdallo/emacs-talk][https://github.com/ericdallo/emacs-talk]]
Github - [[https://github.com/ericdallo][ericdallo]]