(Re)generate: (find-eev-levels-intro)
Source code: (find-efunction 'find-eev-levels-intro)
More intros: (find-eev-quick-intro)
(find-eev-intro)
(find-eepitch-intro)
This buffer is _temporary_ and _editable_.
It is meant as both a tutorial and a sandbox.
This intro is unfinished!
It is a rewrite of some sections of:
(find-eev-install-intro)
TODO: mention:
(find-dot-emacs-links)
(find-eev-install-intro "5.1. With `M-x list-packages'")
(find-eev-install-intro "5.2. With `package-install'")
0. Introduction
If you are starting to learn eev then you probably installed it with
`M-x list-packages', ran `M-x eev-beginner', followed the instructions
in the first sections of the main tutorial, and saved some elisp
hyperlinks in your notes. To be more concrete, supposed that you saved
only this hyperlink - to the main tutorial - in your ~/TODO:
(find-eev-quick-intro)
Then you restart Emacs and that hyperlink doesn't work... you try to
execute it with `M-e' but now `M-e' does something unexpected, and you
try to execute it with `C-e C-x C-e', and you get this error:
Symbol's function definition is void: find-eev-quick-intro
Emacs forgot everything about eev! One way to make it load eev, activate
eev-mode, and enter the main tutorial is by running `M-x eev-beginner';
another way to make Emacs load (all the modules of) eev and turn
eev-mode on is to put these four lines in your init file (obs: I will
always refer to the Emacs init file as "~/.emacs"):
;; See: (find-eev-levels-intro)
(require 'eev-load) ; (find-eev "eev-load.el")
(require 'eev-aliases) ; (find-eev "eev-aliases.el")
(eev-mode 1) ; (find-eev "eev-mode.el")
The first `require' loads all the main modules of eev except for
`eev-aliases'; the second require loads `eev-aliases', that defines some
aliases that don't start with the prefixes "find-", "ee", or "br"
- for example, "M-x 1c" becomes an alias for "M-x
find-1stclassvideos" - and the last line turns eev-mode on.
Some people feel that this level of eev-ness in every Emacs session is
too much for them - they prefer to have eev installed, but by default
with nothing loaded or turned on... _this intro is for them_.
1. Installing
The easiest way to install eev is with `M-x list-packages'. If
you are totally new to Emacs and you find the interface of
list-packages confusing, take a look at:
http://anggtwu.net/2020-list-packages-eev-nav.html#00:30 (English)
http://anggtwu.net/2021-oficina-1.html#02:31 (Portuguese)
Installing eev with `M-x list-packages' is equivalent to running
the three sexps below:
(package-initialize)
(package-refresh-contents)
(package-install 'eev)
If you know the basics of Emacs Lisp you can install eev by
copying and pasting the tree sexps above to an Emacs buffer and
then executing each one with `C-e C-x C-e'.
If you are prefer to use the version of eev from its git
repository you can install it with:
(package-vc-install "https://github.com/edrx/eev")
_Installing_ eev only does this:
a. The directory with the eev files is put in the load-path. If
eev has been "loaded" - as explained in the next section -
then the functions `find-eev' and `find-eevfile' will be
defined, and the sexps below will open that directory with
dired:
(find-eev "")
(find-eevfile "")
b. The function `eev-beginner' is declared as an autoload. It
is defined, and explained, here:
(find-eev "eev-beginner.el")
2. Loading
You can have eev installed without "loading" it. The details of
what happens when we "load" eev are explained here:
(find-eev-intro "1. `eev-mode'")
(find-eev-intro "1. `eev-mode'" "invasive")
(find-eev "eev-load.el" "autoloads")
(find-eev "eev-load.el" "load-the-main-modules")
If you want to make your Emacs _load_ eev on startup, then the
best way to do that is to put either this,
;; See: (find-eev-levels-intro "2. Loading")
(require 'eev-load)
(eev-mode 1)
or this,
;; See: (find-eev-levels-intro "2. Loading")
(require 'eev-load)
;; (eev-mode 1)
in your init file - see:
(find-enode "Init File")
Use the version with "(eev-mode 1)" if you want to turn
eev-mode on on startup, and the version with ";; (eev-mode 1)"
if you prefer to start with eev-mode off.
After loading eev all the elisp hyperlinks in this intro will
work.
3. Activating
_Activating_ eev means "turning eev-mode on". Activating eev
does very little - see:
(find-eev-intro "1. `eev-mode'" "Turning on eev-mode")
Note that "installing", "loading", and "activating" eev are
different things, and each one does more than the previous one.
4. Aliases
If you don't load eev-aliases.el the other modules of eev will only
define functions and variables that start with the prefixes "find-",
"ee", "code-" or "br", with one exception: "to".
See:
(find-eev "eev-aliases.el")
(find-eev-intro "1. `eev-mode'")
(find-eev-intro "1. `eev-mode'" "prefixes")
(find-dot-emacs-links "eev")
5. Completion
In mar/2024 a person told me in the #emacs IRC channel that loading all
modules of eev cluttered the autocompletion mechanisms that she (he?
They?) was using... she needed a minimal setup that would load only
eepitch and a way to turn the keybindings for <f8> and M-T on and off,
and she doesn't use elisp hyperlinks. After a few minutes of
brainstorming and tests we got this,
;; Load only eepitch and a way to access <f8> and M-T.
;; Use `M-x eev-beginner' to explore the rest of eev.
;; See: (find-eev-levels-intro "5. Completion")
(require 'eepitch) ; (find-eev "eepitch.el")
(require 'eev-mode) ; (find-eev "eev-mode.el")
that worked well enough. Then she disconnected - before telling me which
autocompletion packages she uses...