(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")

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...