Hi! My name is Eduardo Ochs and I'm the
author of an Emacs package called eev.
In this video I'm going to suppose
that you know what is Emacs and what is
eev, and I'm going to show how to install
eev and how to navigate it
using just the three basic keys.
So let me start Emacs here,
and let me load my notes...
So, part 0 of this video is about
installation and part 1
is about navigation.
The first step is to run
`M-x package-initialize'.
It takes a few seconds, and then we
have to run `M-x list-packages'...
and we have to wait a bit, because for
a few seconds the mode line is going
to say "Package Menu:_Loading_",
and we have to wait until it
says just "Package Menu".
And note that when we do that we
are in this listing of the
the packages... the built-in packages,
the available packages, and so on...
but note that we now we are in line
257, which means that we are in
the middle of this buffer here...
so if we scroll up
we see lots of packages that are
available but not installed,
and eev is one of these packages.
So, if I click on eev here
and I click on Install here
and I say yes, then Emacs is going to
install eev...
and it just does that. It just installs
eev, but it doesn't change any defaults,
it doesn't change anything.
The thing is that I wanted to
make eev both beginner-friendly and
old-timer friendly and the old-timers
hate having their defaults changed,
so I found a way to
to make it easy to activate eev,
and easy to enter the tutorial...
and this allows people to
install eev and just play with it
during five minutes in one day,
and five minutes another another week,
and so on...
but they're going to have it
installed but not active by default...
and so to activate eev and to enter the
tutorial
we have to type `M-x eev-beginner',
and what happens is that the mode line
is going to say "(Fundamental eev)" -
which means that the minor mode eev
is on, and we are going to enter the main
tutorial, which is here...
(find-eev-quick-intro) - and
if you read the tutorial you're going to
learn how to install eev
in a way that's not the one that we
just did,
so you can ignore this section...
and then you have a section about how
Emacs deals with lisp expressions, and how
you can execute lisp expressions
from anywhere...
and then you have a section that
explains how some of these
elisp expressions can be
used as used as hyperlinks.
But let me go back here.
At any point we can type
`M-x eev-beginner',
and we'll go back to this tutorial.
And the trick is that to navigate
eev you just need to remember two keys,
but let me just show something for
the beginners that are watching this,
that is that sometimes Emacs is going
to take you to some situation that you
don't know what that is,
and you don't know how to
leave... for example, if you
type a complex sequence of keys,
for example this one,
then Emacs is going to show here
the part of the sequence of keys that
you have typed, and it's not very
obvious how to quit that.
I can quit it with control-g, but
that's just because I know how to use
Emacs... if you don't know how to do that
the main trick is that you can go to the
"File" menu, and "Quit".
Yeah, in this case it didn't work because
it combines this sequence of keys here
with the sequence of keys
that I was in the middle of...
but if we choose "Quit" again we exit
Emacs, and we can enter Emacs again,
and now if you type `M-x eev-beginner'
you are going to get eev mode activated
and we are going to go to the
main tutorial.
But I promised that I was going to
explain some things about
the main keys and then
the navigation.
Here are the main keys.
You can navigate
through all the tutorials by just
learning these three keys.
`M-e' is to
execute the elisp hyperlink in the
current line,
and it works like this: when you type
`M-e' Emacs goes to the end of the line
and then it finds the elisp expression
before point, which in this case is this,
and then it executes it
as a small elisp program. So if we
type `M-e' in this line
it is going to execute this
expression here,
and it's going to take me to section 2
of the main tutorial,
and if I execute this elisp expression
here I'm going to go to the section 3
of the main tutorial.
Let's try this. If I type `M-e' here
I go to the section 3 of the main
tutorial, that explains how to use
these hyperlinks.
But
you can forget practically everything
and you just need to remember `M-e'
and `M-j', and `M-j' is a
key that you can use to jump to lots of
places...
if you type just `M-j' you're going to
jump to this mysterious buffer here
and the important thing is that it has a
header that is beginner-friendly
and it has something here that is
totally beginner-unfriendly,
and that we need to ignore for this
moment.
And this header here has some
important hyperlinks...
these two hyperlinks here go to another
tutorial, one that is a kind of an index
of the main keys of Emacs, but it starts
with an index of the main keys of eev...
so if I execute this I go to this
tutorial, that is called
find-emacs-keys-intro, and it's
section 1 - note that this thing here is a
kind of copy of the the instructions that
I showed in my notes, so this thing
explains `M-e', `M-j' and `M-k'.
Note that these things are hyperlinks...
for example, this hyperlink here
explains in details how `M-j' works,
and explains what this header means.
Here you have explanations of other keys,
and in the other sections of this tutorial
you have explanations for some of the main
concepts of Emacs, and some of the
main keys... and if you
follow a hyperlink like this one
it is going to open the manual of Emacs
in a section called "Quitting".
You can navigate this manual
using these buttons here.
It is in a mode called "Info".
So... most of the entries about
Emacs keys have hyperlinks
that point to the
to the Emacs manual...
for example, here you will find an
explanation of how to quit
complex commands, so
it explains that if you type a
mysterious sequence like this and you
don't know how to exit
you just have to type `C-g',
and well... whatever.
And... that's it. Just let me show
very quickly one of the things that
the tutorial explains...
it is one of the things that are considered
one of the killer features of eev... uh,
no, no, let me explain one thing
before that. If we type `M-j' we go
to this page here, and these three lines
explain how we can use
`M-j' with numeric prefixes.
So if we type `M-2 M-j' we go straight
to this tutorial that explains the keys,
and if we type `M-5 M-j' we go
to the main tutorial...
and in section 6 of this tutorial
we have explanations about something
called `eepitch', that is a way to control
shells, and things that look like shells,
from Emacs.
Here we have a short example.
If I type f8 six times here
the first three `f8's will set up a target
buffer here, running your shell,
and the other three `f8's are going to
send these commands to the shell.
So we have a shell running inside Emacs,
and instead of having to remember the
commands, or having to
type the commands by hand we have the
commands here, stored in our notes,
or in our tutorials, and we can send them
straight to the shell, and the shell
is going to think that we have just
typed those commands by hand...
it's going to behave as if we have typed
those common commands by hand.
That's it for the moment, that's
what I wanted to show in this
tutorial... ah, sorry - I forgot
to explain what is `M-k'!
`M-k' is a way to go back. If you follow a
hyperlink it _usually_ opens a new buffer
and _usually_ you can go back from a new
buffer...
this is explained here - you can go back
by killing the new buffer, which
corresponds to closing a new window
in the browser
or deleting the site that you
just visited, so the browser
is going to take you to
what you were visiting before that...
but technically what `M-k' does
is that it runs a function called
`ee-kill-this-buffer', that kills the
current buffer, and makes Emacs display
the buffer that you were visiting
before that one.
That's what I wanted to show in this
tutorial, so... that's it!
Thanks for watching!
Oops, sorry I usually define so many keys
in my ~/.emacs, and they're not available
in this demo. That's it!