../ Emacs Baseline-Concepts Tree

These days I'm working on an introductory series on Emacs. It's targeted for beginners, and in particular for italians beginners, since the entire series will be in italian. Right now I'm hosting it on youtube, but maybe later I will also upload it elsewhere. If interested, below you can find the first video of the series in which I introduce Emacs and show how I use it (it is roughly the equivalent of my How I use Emacs blog post).

There are various reasons as to why I'm making such series in general, and also why I'm making it specifically in italian. To summarize:

  1. Emacs gave me a lot during this hard year, and I want to share to the world the little knowledge that I've gained about it, so that hopefully other people can benefit from Emacs aswell;

  2. In italian there is very little content about Emacs excluding the official tutorial and a few and sparse youtube videos. My goal is to create a good amount of content in italian so that even those who don't know english very well can start using Emacs;

  3. Lately I've come to realize just how much I like to teach/share what I know.

There is also a fourth reason, which is like the sum of the previous three, and which has something to do with existential meaning: I don't know why, but right now I feel that I have the opportunity to create something unique that only I can create. I have a lot to learn, and I already know that my creations will contain many mistakes, errors, and things of the sort, but that's ok, because right now I'm not looking for perfection; what I'm looking for, rather, is for it to be mine, for it to be something that only I, with my unique history, with my unique head, could come up with. I can't elaborate on it much more right now, but I believe that this drive to create, and the meaning that comes directly out of it, is the only antidote that works against existential depression.

Anyways, getting to the point of this blog-post: to make easier the process of learning Emacs I have come up with a sort of graph (technically, using computer science jargon, a tree) that contains what I believe are the baseline concepts one has to learn to get a basic understanding of Emacs.

DISCLAIMER: Its important to realize that such graph has no intention to be neither complete nor general. Its just a starting point, something that I came up to give a direction to someone who is new to Emacs.

The tree is the following one

Each node of the tree represents a particular Emacs concept. For example, with keybinds structure I mean all the different things that have to do with with keybinds in Emacs, such as

  1. The notation used to describe the keybinds.

  2. The different types of keybinds.

  3. How to set/customize keybinds in Emacs using elisp (this, being a bit more intermediate, could be learnt after a while).

Some concepts are not really necessary to use Emacs in a very basic way, and so I've colored them using violet.

Finally, the various nodes (concepts) follow a specific order, and one has to read the graph starting from the top (which is called the root of the tree), and going progressively towards the bottom nodes. All the concept that sit on the same depth (which is the distance from the root node: for example the cursor movement node has a depth of \(1\), while the files node has a depth of \(3\)) have roughly the same importance and ought to be learned at least a little bit before moving on to the concepts on the next depth-level.

I'm really not sure how useful such a graph could be, but I think it gives a sense as to how things are related to each others, as well as what is the basic jargon of Emacs, since after all to talk about something one has to have a name for it, and the names used by Emacs are not so intuitive, given its cool and long-ass history.

If you're beginning to learn Emacs, try to read the graph, and check if you understand each concept in and of itself and also how that concept is related to those nearby in the graph. If you don't understand a concept, go and research it using the appropriate terms. Also, if you find something that doesn't really make sense, feel free to write me, you can find my email address in the homepage.

Have fun learning Emacs!