eev icon indicating copy to clipboard operation
eev copied to clipboard

a tool for automating almost everything (with Emacs)

This file:

https://github.com/edrx/eev/

http://anggtwu.net/eev-current/README.org.html

http://anggtwu.net/eev-current/README.org

(find-angg "eev-current/README.org")

(find-angg "eev-current/")

Author: Eduardo Ochs [email protected]

Some eev-isms:

(defun c () (interactive) (eek "C-c C-e h h"))

(defun o () (interactive) (find-angg "eev-current/README.org"))

(defun v () (interactive) (brg "~/eev-current/README.html"))

(defun cv () (interactive) (c) (v))

(find-eev "README.org")

(find-orgnode "Table of Contents")

#+OPTIONS: toc:nil num:nil

  • Introduction

I used to call eev a "tool for automating almost everything" and "my project to save the world with Free Software". In more concrete terms, eev is a library for Emacs that lets us create [[http://anggtwu.net/eev-intros/find-here-links-intro.html#1][executable logs]] of what we do in a format that is reasonably easy to read and to modify, and that lets us "play back" those logs step by step in any order.

The best introductions to eev are:

  • "[[http://anggtwu.net/emacsconf2019.html][How to record executable notes with eev - and how to play them back]]": my talk at the EmacsConf 2019. Executable notes are mostly made of [[http://anggtwu.net/eev-intros/find-eev-quick-intro.html#3][sexp hyperlinks]] and [[http://anggtwu.net/eev-intros/find-eev-quick-intro.html#6][eepitch blocks]]. This talk has a quick explanation of sexp hyperlinks at [[http://anggtwu.net/LATEX/2019emacsconf.pdf#page=5][slides 5 and 6]], a mention in [[http://anggtwu.net/LATEX/2019emacsconf.pdf#page=8][slide 8]] of my 20+ years of executable notes in [[http://anggtwu.net/e/]], and a very nice demo of playing back non-trivial executable notes in the video starting at [[http://www.youtube.com/watch?v=86yiRG8YJD0#t=13m10s][13:10]]; the demo of eepitch starts at [[http://www.youtube.com/watch?v=86yiRG8YJD0#t=15m11s][15:11]],

  • "[[http://anggtwu.net/emacsconf2020.html][On why most of the best features in eev look like 5-minute hacks]]": my talk at the EmacsConf 2020. It is mostly about design decisions; for example, starting at [[http://www.youtube.com/watch?v=hOAqBc42Gg8#t=30m40s][30:40]] it explains why eev implements a variant of [[http://www.gnu.org/software/emacs/manual/html_node/emacs/Key-Help.html][M-x describe-key]] that it much more hacker-friendly than the standard one. At [[http://www.youtube.com/watch?v=hOAqBc42Gg8#t=21m02s][21:02]] it shows how I use M-j to teach Emacs and eev to total beginners, and at [[https://www.youtube.com/watch?v=hOAqBc42Gg8#t=18m47s][18:47]] it explains the design decisions behind M-j.

  • "[[http://www.youtube.com/watch?v=kxBjiUo88_U][How to install eev with M-x list-packages and how to navigate its tutorials]]". This is a video tutorial accessible to total beginners - with an approach that is the exact opposite of "[[http://anggtwu.net/LATEX/2019emacsconf.pdf#page=10][users should not be forced to see Lisp]]".

  • its [[http://anggtwu.net/eev-intros/find-eev-intro.html][sandboxed tutorials]],

  • its homepage: [[http://anggtwu.net/#eev]] .

The "[Video links:]" blocks in the sandboxed tutorials are explained [[http://anggtwu.net/eev-intros/find-video-links-intro.html#2][here]]; that link also has a list of the videos. See also [[https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg00527.html][this announcement]] on emacs-devel.

(find-eev-quick-intro "3. Elisp hyperlinks")

(find-eev-quick-intro "6. Controlling shell-like programs")

(find-eev2019video "13:10" "Demo: patching xpdf")

(find-eev2019video "15:11" "Demo: the eepitch block (in red star lines)")

(find-eev2020video "18:47" "M-j - design decisions")

(find-eev2020video "21:02" "M-j itself")

(find-eev2020video "30:40" "their targets are not visible")

(ecop 8 "prehistory-7" "several megabytes")

(eco "prehistory-7" "several megabytes")

http://anggtwu.net/eev-intros/find-videos-intro.html#2

(find-videos-intro "2. Short links to eev video tutorials")

(ecop 10 "prehistory-9" "users should not be forced to see Lisp")

(eco "prehistory-9" "users should not be forced to see Lisp")

  • Trying it

The recommended way to try eev it to install it with M-x list-packages and then run M-x eev-beginner; this will load all the modules of eev, turn eev-mode on, and open the [[http://anggtwu.net/eev-intros/find-eev-quick-intro.html][main tutorial]]. I tried to make eev as friendly as possible both to:

  • beginners, who at first know only the most obvious keybindings, like the arrow keys, and no Lisp at all, and:

  • experts, who want a very [[http://anggtwu.net/eev-intros/find-eev-intro.html#1][non-invasive]] package, with a mode that they can turn on and off easily (hint: M-x eev-mode), and that they can learn by playing with it just 5 minutes per week. The "expert setup" is explained [[http://anggtwu.net/eev-intros/find-eev-install-intro.html#1][here]]. The source code for M-x eev-beginner is [[http://anggtwu.net/eev-current/eev-beginner.el.html][here]].

(find-eev-install-intro "1. Beginners and experts")

http://anggtwu.net/eev-intros/find-eev-install-intro.html#1

(find-eev-quick-intro)

http://anggtwu.net/eev-intros/find-eev-quick-intro.html

(find-eev "eev-beginner.el")

http://anggtwu.net/eev-current/eev-beginner.el.html

(find-eev-quick-intro "1. Installing eev")

http://anggtwu.net/eev-intros/find-eev-quick-intro.html#1

(find-eev-intro "1. `eev-mode'")

http://anggtwu.net/eev-intros/find-eev-intro.html#1

https://orgmode.org/ prose

(ecop 5 "prehistory-4")

(eco "prehistory-4")

(find-here-links-intro "1. Alternating between "task" and "notes"")

http://anggtwu.net/eev-intros/find-here-links-intro.html#1

http://anggtwu.net/LATEX/2019emacsconf.pdf

http://anggtwu.net/LATEX/2019emacsconf.pdf#page=8

http://anggtwu.net/LATEX/2019emacsconf.pdf#page=13

Local Variables:

modes: (org-mode fundamental-mode)

End: