Chapa 1)


How to install eev with M-x list-packages and how to navigate its tutorials

This is a very basic video about Emacs and eev.
The easiest way to install eev in Emacs is with `M-x list-packages'.
This video shows how to do that and how to navigate its tutorials with the keys `M-e', `M-j', and `M-k'.
The three most basic keys of eev are `M-e' (eval), `M-j' (jump), and `M-k' (kill).
The fourth of the three most basic keys is `<f8>' (eepitch-this-line).

Click on the timestamps below to play the video on Youtube starting from that position.
Or, if you prefer to download a copy of the video and its subtitles with wget and play it with mpv,
then run the two "wget"s and the "mpv" in the beige block below in a shell:

# See:  http://anggtwu.net/eev-videos.html
#       http://anggtwu.net/eev-videos.html#mpv-keys
# Play: (find-eevnavvideo "0:00")
# Info: (find-1stclassvideo-links "eevnav")
# Subs: (find-1stclassvideolsubs  "eevnav")

wget -nc http://anggtwu.net/eev-videos/2020-list-packages-eev-nav.mp4
wget -N  http://anggtwu.net/eev-videos/2020-list-packages-eev-nav.vtt
mpv --fs --osd-level=2 2020-list-packages-eev-nav.mp4

Index of the video

0:19  Let me load my notes...
0:31  0.1. M-x package-initialize
0:39  0.2. M-x list-packages
0:44    run M-x list-packages and wait a bit
1:26    click on eev, click on install
1:42    just installs eev but doesn't change any defaults
2:25    installed but not active by default
2:30  0.3. M-x eev-beginner (to activate eev and enter the tutorial)
3:06    a section about how Emacs deals with elisp expressions
3:17    elisp expressions that can be used as hyperlinks
3:41    you just need to remember two keys
3:46  0.4. for the beginners: quitting and restarting
4:06    the part of the sequence of keys
4:21    go to the file menu, click quit
4:46    enter emacs again, type M-x eev-beginner
5:17  1. Basic keys (eev)
5:26    M-e goes to the end of the line and...
6:28    M-j: you can forget practically everything...
6:41    if you type just M-j
6:48    has a header that is beginner-friendly
7:20    if I execute this ... (find-emacs-keys-intro)
7:30      a copy of the instructions that I showed before
8:06      in the other sections: Emacs concepts, other Emacs keys
8:19      hyperlink to the section about quitting in the manual
8:48    most of the entries have hyperlinks to the manual
9:48    M-j with numeric prefixes
9:59    M-2 M-j runs (find-emacs-keys-intro)
10:06   M-5 M-j runs (find-eev-quick-intro)
10:09  In section 6 of the main tutorial we have:
10:20  section 6: eepitch - how to control shells
10:36    if I type six times here
10:50    we have a shell running inside Emacs
11:22  oops, I forgot to explain M-k!
11:33    you can go back from the new buffer by killing
11:40    ee-kill-this-buffer

Sending commands to shells

My talk at the EmacsConf2021 was about "test blocks".
Here are links to its page, slides, and video, but if you understand
how <f8> works - explained in the video above at 10:20, and
in the image below,

Subtitles of the video

00:01 Hi! My name is Eduardo Ochs and I'm the
00:03 author of an Emacs package called eev.
00:05 In this video I'm going to suppose
00:07 that you know what is Emacs and what is
00:09 eev, and I'm going to show how to install
00:11 eev and how to navigate it
00:12 using just the three basic keys.

00:15 So let me start Emacs here,
00:17 and let me load my notes...
00:23 So, part 0 of this video is about
00:25 installation and part 1
00:26 is about navigation.
00:30 The first step is to run
00:33 `M-x package-initialize'.

00:37 It takes a few seconds, and then we
00:39 have to run `M-x list-packages'...
00:44 and we have to wait a bit, because for
00:46 a few seconds the mode line is going
00:48 to say "Package Menu:_Loading_",
00:50 and we have to wait until it
00:52 says just "Package Menu".
00:54 And note that when we do that we
00:57 are in this listing of the
00:58 the packages... the built-in packages,
01:01 the available packages, and so on...
01:03 but note that we now we are in line
01:07 257, which means that we are in
01:10 the middle of this buffer here...
01:12 so if we scroll up
01:16 we see lots of packages that are
01:19 available but not installed,
01:20 and eev is one of these packages.

01:24 So, if I click on eev here
01:27 and I click on Install here
01:34 and I say yes, then Emacs is going to
01:37 install eev...
01:41 and it just does that. It just installs
01:44 eev, but it doesn't change any defaults,
01:46 it doesn't change anything.
01:48 The thing is that I wanted to
01:51 make eev both beginner-friendly and
01:54 old-timer friendly and the old-timers
01:56 hate having their defaults changed,
01:58 so I found a way to
02:02 to make it easy to activate eev,
02:05 and easy to enter the tutorial...

02:08 and this allows people to
02:12 install eev and just play with it
02:15 during five minutes in one day,
02:17 and five minutes another another week,
02:19 and so on...

02:20 but they're going to have it
02:24 installed but not active by default...
02:28 and so to activate eev and to enter the
02:31 tutorial
02:33 we have to type `M-x eev-beginner',
02:37 and what happens is that the mode line
02:41 is going to say "(Fundamental eev)" -
02:44 which means that the minor mode eev
02:48 is on, and we are going to enter the main
02:51 tutorial, which is here...
02:51 (find-eev-quick-intro) - and
02:54 if you read the tutorial you're going to
02:56 learn how to install eev
02:58 in a way that's not the one that we
03:01 just did,
03:03 so you can ignore this section...
03:06 and then you have a section about how
03:09 Emacs deals with lisp expressions, and how
03:11 you can execute lisp expressions
03:13 from anywhere...

03:16 and then you have a section that
03:18 explains how some of these
03:20 elisp expressions can be
03:22 used as used as hyperlinks.
03:26 But let me go back here.
03:31 At any point we can type
03:33 `M-x eev-beginner',
03:35 and we'll go back to this tutorial.

03:38 And the trick is that to navigate
03:42 eev you just need to remember two keys,
03:46 but let me just show something for
03:48 the beginners that are watching this,
03:50 that is that sometimes Emacs is going
03:54 to take you to some situation that you
03:56 don't know what that is,
03:57 and you don't know how to
03:59 leave... for example, if you
04:01 type a complex sequence of keys,
04:04 for example this one,
04:05 then Emacs is going to show here
04:08 the part of the sequence of keys that
04:10 you have typed, and it's not very
04:12 obvious how to quit that.

04:15 I can quit it with control-g, but
04:19 that's just because I know how to use
04:22 Emacs... if you don't know how to do that
04:23 the main trick is that you can go to the
04:26 "File" menu, and "Quit".
04:27 Yeah, in this case it didn't work because
04:33 it combines this sequence of keys here
04:35 with the sequence of keys
04:38 that I was in the middle of...

04:41 but if we choose "Quit" again we exit
04:47 Emacs, and we can enter Emacs again,
04:51 and now if you type `M-x eev-beginner'
04:55 you are going to get eev mode activated
04:58 and we are going to go to the
05:01 main tutorial.

05:05 But I promised that I was going to
05:08 explain some things about
05:10 the main keys and then
05:12 the navigation.
05:15 Here are the main keys.
05:18 You can navigate
05:21 through all the tutorials by just
05:23 learning these three keys.
05:26 `M-e' is to
05:29 execute the elisp hyperlink in the
05:32 current line,
05:33 and it works like this: when you type
05:36 `M-e' Emacs goes to the end of the line
05:37 and then it finds the elisp expression
05:42 before point, which in this case is this,
05:44 and then it executes it
05:47 as a small elisp program. So if we
05:51 type `M-e' in this line
05:54 it is going to execute this
05:57 expression here,
05:58 and it's going to take me to section 2
06:01 of the main tutorial,

06:03 and if I execute this elisp expression
06:07 here I'm going to go to the section 3
06:09 of the main tutorial.
06:12 Let's try this. If I type `M-e' here
06:15 I go to the section 3 of the main
06:18 tutorial, that explains how to use
06:20 these hyperlinks.

06:24 But
06:29 you can forget practically everything
06:32 and you just need to remember `M-e'
06:34 and `M-j', and `M-j' is a
06:37 key that you can use to jump to lots of
06:40 places...
06:41 if you type just `M-j' you're going to
06:44 jump to this mysterious buffer here
06:49 and the important thing is that it has a
06:51 header that is beginner-friendly
06:53 and it has something here that is
06:55 totally beginner-unfriendly,
06:57 and that we need to ignore for this
06:59 moment.

07:01 And this header here has some
07:04 important hyperlinks...
07:08 these two hyperlinks here go to another
07:11 tutorial, one that is a kind of an index
07:13 of the main keys of Emacs, but it starts
07:16 with an index of the main keys of eev...
07:21 so if I execute this I go to this
07:24 tutorial, that is called
07:26 find-emacs-keys-intro, and it's
07:30 section 1 - note that this thing here is a
07:33 kind of copy of the the instructions that
07:36 I showed in my notes, so this thing
07:38 explains `M-e', `M-j' and `M-k'.

07:44 Note that these things are hyperlinks...
07:49 for example, this hyperlink here
07:52 explains in details how `M-j' works,
07:54 and explains what this header means.

08:03 Here you have explanations of other keys,
08:05 and in the other sections of this tutorial
08:08 you have explanations for some of the main
08:14 concepts of Emacs, and some of the
08:16 main keys... and if you
08:19 follow a hyperlink like this one
08:23 it is going to open the manual of Emacs
08:29 in a section called "Quitting".

08:33 You can navigate this manual
08:37 using these buttons here.
08:40 It is in a mode called "Info".
08:45 So... most of the entries about
08:50 Emacs keys have hyperlinks
08:53 that point to the
08:55 to the Emacs manual...
08:58 for example, here you will find an
09:00 explanation of how to quit
09:02 complex commands, so
09:05 it explains that if you type a
09:07 mysterious sequence like this and you
09:09 don't know how to exit
09:11 you just have to type `C-g',
09:15 and well... whatever.

09:21 And... that's it. Just let me show
09:31 very quickly one of the things that
09:34 the tutorial explains...
09:35 it is one of the things that are considered
09:38 one of the killer features of eev... uh,
09:44 no, no, let me explain one thing
09:47 before that. If we type `M-j' we go
09:49 to this page here, and these three lines
09:52 explain how we can use
09:55 `M-j' with numeric prefixes.

09:59 So if we type `M-2 M-j' we go straight
10:03 to this tutorial that explains the keys,
10:06 and if we type `M-5 M-j' we go
10:09 to the main tutorial...
10:12 and in section 6 of this tutorial
10:22 we have explanations about something
10:24 called `eepitch', that is a way to control
10:26 shells, and things that look like shells,
10:28 from Emacs.
10:31 Here we have a short example.
10:36 If I type f8 six times here
10:39 the first three `f8's will set up a target
10:42 buffer here, running your shell,

10:43 and the other three `f8's are going to
10:46 send these commands to the shell.
10:49 So we have a shell running inside Emacs,
10:52 and instead of having to remember the
10:54 commands, or having to
10:56 type the commands by hand we have the
10:58 commands here, stored in our notes,
11:00 or in our tutorials, and we can send them
11:02 straight to the shell, and the shell
11:05 is going to think that we have just
11:08 typed those commands by hand...
11:12 it's going to behave as if we have typed
11:15 those common commands by hand.

11:19 That's it for the moment, that's
11:22 what I wanted to show in this
11:24 tutorial... ah, sorry - I forgot
11:26 to explain what is `M-k'!
11:29 `M-k' is a way to go back. If you follow a
11:32 hyperlink it _usually_ opens a new buffer
11:34 and _usually_ you can go back from a new
11:39 buffer...
11:40 this is explained here - you can go back
11:45 by killing the new buffer, which
11:48 corresponds to closing a new window
11:51 in the browser
11:53 or deleting the site that you
11:57 just visited, so the browser
11:58 is going to take you to
12:01 what you were visiting before that...
12:04 but technically what `M-k' does
12:07 is that it runs a function called
12:11 `ee-kill-this-buffer', that kills the
12:14 current buffer, and makes Emacs display
12:17 the buffer that you were visiting
12:18 before that one.

12:22 That's what I wanted to show in this
12:24 tutorial, so... that's it!
12:26 Thanks for watching!
12:33 Oops, sorry I usually define so many keys
12:36 in my ~/.emacs, and they're not available
12:39 in this demo. That's it!