Quick
index
main
eev
eepitch
maths
angg
blogme
dednat6
littlelangs
PURO
(C2,C3,C4,
 λ,ES,
 GA,MD,
 Caepro,
 textos,
 Chapa 1)

emacs
lua
(la)tex
maxima
 qdraw
git
lean4
agda
forth
squeak
icon
tcl
tikz
fvwm
debian
irc
contact

Eev for beginners: restructuring the first hour or so (2024)

My presentation at the EmacsConf2024 was about how I've been teaching Emacs, eev and Maxima to total beginners. This page is the map that I mention in 24:26, in the middle of the slide "Now some technical details".

0. The basic map
1. Links to videos
2. Use "Graphical Emacs", not "Terminal Emacs"
3. Installing from a video
4. Fixing the error "gpg: Can't check signature: No public key"
4.1. Way 1
4.2. Way 2
5. Without memorizing
5.1. The tool bar and the menu bar
5.2. Open in browser tabs
5.3. Click on the `eev' in the mode line
5.4. M-j
5.5. A video that explains M-j
6. Copy and paste
6.1. Your first executable notes
7. Restarting Emacs
8. Make some configurations permanent


0. The basic map

Install WSL
    |
    v
wsl --install Debian
    |
    v
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y emacs
emacs &
    |                    
    v                    
M-x list-packages
(Package Menu:Loading)
(Package Menu)
find eev in the list    --> if on an Emacs28 with a bad GPG key,
install eev             <-- fix that with 2024-no-public-key
    |
    v
M-x eev-beginner
(find-eev-quick-intro "2. Evaluating Lisp")
(find-eev-quick-intro "3. Elisp hyperlinks")
    |
    v
(find-eev-quick-intro "3.1. Non-elisp hyperlinks")
  ^ Problem: this needs Google Chrome...
    ...but at least now the user knows M-e and M-k!


1. Links to videos

Some sections of the tutorials - like this one - have links to videos. Try to click on the timestamps in each of the lines below to understand how these links work in the browser:

(find-eevnavhsubs "06:29" "M-j: you can forget practically everything...")
(find-eevnavvideo "06:29" "M-j: you can forget practically everything...")

Links like those will only work inside Emacs after some things are configured. More precisely:

  • links of the form `find-*hsubs' open an HTMLized version of the subtitles of a video. Eev uses Google Chrome by default, so for most people these links will only work after this section of the tutorial;
  • links of the form `find-*video' play local copies of videos with Mpv. The section of the tutorial that installs Mpv is this one, but to use those links inside Emacs people also need to understand how the local copies work.



2. Use "Graphical Emacs", not "Terminal Emacs"

(Adapted from this page).

Most systems offers both a "GUI Emacs" and a "Terminal Emacs":

The "GUI Emacs" - or "Graphical Emacs" - is MUCH easier to use than the "Terminal Emacs". One way to distinguish them is by their initial screens. These are the initial screens of an Emacs in graphical mode (left) and of an Emacs in terminal mode (right) - note that in terminal mode all fonts are the same size, and monospaced:

And this is what you see in graphical mode (left) and terminal mode (right) when you try to install eev with M-x list-packages:

Initially the cursor is at the window at the left - but the "Install" button is at the window at the right.

Here is an example of something that is harder in Terminal Emacs. In graphical mode you can switch to the window at the right by clicking on it, and you can press the "Install" button by either clicking on it or by typing RET on it.

In terminal mode Emacs ignores mouse clicks.

If you use Emacs in terminal mode instead of in graphical mode then then several things in this tutorial - (find-windows-beginner-intro) - won't work. You can still do a lot if you learn the keys in this section:

(find-emacs-keys-intro "6. Windows")

Remember that you don't need to memorize those keys - you can just keep that page open in a browser tab and consult it when needed.

For example, in Emacs in terminal mode we can't switch to the second window by clicking on it, but we can use `C-x o':

C-x o  -- other-window   (find-enode "Other Window")



3. Installing from a video

If you're a beginner and you're using Debian then the best way to install eev is by following the instructions in one of these two videos:

http://anggtwu.net/2021-oficina-1.html#00:00             (Portuguese)
http://anggtwu.net/2020-list-packages-eev-nav.html#00:01 (English)



4. Fixing the error "gpg: Can't check signature: No public key"

(From this page)

If you're trying to install eev with M-x list-packages but you're getting the error "gpg: Can't check signature: No public key", as in the screenshot below,

then you need to install the new public key and then eev. There are two ways to do that.


4.1. Way 1

If you are a total beginner who is following the instuctions in (find-windows-beginner-intro) and you got this error, you probably installed Ubuntu in WSL instead of installing Debian, and the best solution is to delete your Ubuntu image, install a Debian image, and make Debian the default... the "Way 2" below will mostly work, but some things in later steps will break!!!


4.2. Way 2

Copy and paste the 9-line progn below to an Emacs buffer and then execute it by typing `C-e C-x C-e' in the line with its closing parenthesis:

(progn
  (package-initialize)
  (setq package-check-signature nil)
  (package-refresh-contents)
  (package-install 'gnu-elpa-keyring-update)
  (setq package-check-signature 'allow-unsigned)
  ;;
  (package-install 'eev)
  )

For more explanations, see:

http://anggtwu.net/2024-find-tryit-links.html
http://anggtwu.net/2024-trying-eev-with-a-sexp.html
https://www.reddit.com/r/emacs/comments/bn6k1y/updating_gnu_elpa_keys/
(find-es "emacs" "gnu-elpa-keyring-update")
(find-lean4-intro "6. Install lean4-mode")



5. Without memorizing

Here are some tricks to get by without memorizing key sequences.


5.1. The tool bar and the menu bar

First, learn how to use the menu bar and the tool bar - see this screenshot:


5.2. Open in browser tabs

Second: keep each one of the links below - the links at the `")'s, at the end of each line - open in a different browser tab:

(find-emacs-keys-intro "2. Key sequences and how to abort them")
(find-emacs-keys-intro "3. Cutting & pasting")
(find-emacs-keys-intro "6. Windows")


5.3. Click on the `eev' in the mode line

Look at the screenshot below. If you put the mouse on the "eev" in the mode line Emacs will say what each mouse button will do there - and clicking the second mouse button shows the help screen at the window at the left, that lists the main keys of eev:

This is roughly the same as this section:

(find-emacs-keys-intro "1. Basic keys (eev)")

it only shows that key sequences defined by eev, not the key sequences defined by Emacs - so it's not incredibly useful.


5.4. M-j

(Adapted from these sections: 1, 2)

Eev is made for people with bad memory: you can forget everything except for the three main keys -

  • `M-e' for "execute",
  • `M-k' for "kill" (or "go back"), and
  • `M-j' for "jump",

and typing `M-j' will take you to a buffer whose header will remind you, or teach you, all the rest. That buffer looks like this:

Note that I've highlighted - or "marked" - the three lines of the header that explain key sequences that go to the ~/TODO file. The file ~/TODO will be used in the section "First executable notes", below.

I will use an abbreviation here, and I will write, for example,`M-123j' instead of `M-1 M-2 M-3 M-j'. `M-123j' is pronounced "meta-onetwothreejay", and it means "hold down the meta key, type 123j, release the meta key".


5.5. A video that explains M-j

`M-j' is explained in Section 7 of the main tutorial, and note that that section starts with hyperlinks to a video:

Those hyperlinks will only work inside Emacs - with `M-e' - if you have done certain configurations, but they work out of the box in the htmlized version of the tutorial. Try it by following the link at the end of the next line:

(find-eev-quick-intro "7. Quick access to one-liners")

The best way to understand what `M-j' does is to watch the video in these links from 06:29 to 10:09.


6. Copy and paste

Read the section "Open in browser tabs" again, and open each of the links below in a different browser tab:

(find-eev-quick-intro "5.2. Cutting and pasting")
(find-emacs-keys-intro "3. Cutting & pasting")
(find-emacs-keys-intro "6. Windows")
(find-windows-beginner-intro "6. Learn the basics of Emacs and eev")

In the next section you will learn how to create your first executable notes - by copying and pasting some existing executable notes to your ~/TODO file. Note that you don't need to remember the keys that Emacs uses for cut, copy and paste, or for saving files - you can use the tool bar or the menu bar, as shown below:


6.1. Your first executable notes

Make sure that you understand what each one of the links and key sequences in the blue region below does:

Some of them will open your ~/TODO file in different ways.

Now go to the browser tab that is showing this section,

(find-windows-beginner-intro "6. Learn the basics of Emacs and eev")

and copy-and-paste the contents of that section to your ~/TODO file. Then save your ~/TODO file with C-x C-s.

Now your ~/TODO file contains notes on things that you've learned and on things that you are planning to learn, in an editable format.


7. Restarting Emacs

Try to exit Emacs with C-x C-c - or with the entry "Quit (C-x C-c)" in the "File" menu of the menu bar - and then start Emacs again. If you are following this tutorial,

(find-windows-beginner-intro)

use one of the ways that it recommends at the end of its section 1, that are:

emacs &
emacs -fg bisque -bg black -fn 6x13 &

The mode line of your new Emacs will show just "(Fundamental)" instead of "(Fundamental eev)", and many of the key sequences that you've learned won't work... to fix that you need to turn eev-mode on, with M-x eev-beginner.

Then try `M-1 M-j' - it will open th file ~/TODO, that you saved in your previous Emacs session.


8. Make some configurations permanent

See this page: "~/.emacs for beginners (2024)".