this post was submitted on 04 Dec 2023
2 points (75.0% liked)

Emacs

297 readers
1 users here now

A community for the timeless and infinitely powerful editor. Want to see what Emacs is capable of?!

Get Emacs

Rules

  1. Posts should be emacs related
  2. Be kind please
  3. Yes, we already know: Google results for "emacs" and "vi" link to each other. We good.

Emacs Resources

Emacs Tutorials

Useful Emacs configuration files and distributions

Quick pain-saver tip

founded 1 year ago
MODERATORS
 

I am a newbie to emacs and Linux in general (started my linux journey 2 months ago) and want to learn emacs. Does anyone have good ressources to learn emacs as a beginner? Also should I use a distro like doom Emacs or should I do it from scratch

top 28 comments
sorted by: hot top controversial new old
[–] [email protected] 1 points 8 months ago

Do the internal tutorial. Just click on the link of the splash page

[–] [email protected] 1 points 8 months ago

Learning emacs is a beautiful journey. I am learning it since 2003, and i think i am in the middle of the the travel. Dont stop if you fall. The road is long.

[–] [email protected] 1 points 8 months ago

YouTube has a Lot of great emacs content!

[–] [email protected] 1 points 8 months ago

Work through the tutorial.

[–] [email protected] 1 points 8 months ago

patience

people who used emacs for 20 years still learn some stuff :)

join irc, or mastodon or any place to chat with people, it helps getting some things faster

watch emacsrocks, videos from a few years ago but excellent ratio between short demo and long term insight :)

[–] [email protected] 1 points 8 months ago
[–] [email protected] 1 points 8 months ago

I wrote a website for beginners, focused on writing prose, not code

https://lucidmanager.org/tags/emacs/

[–] [email protected] 1 points 8 months ago

Read the built in documentation.

[–] [email protected] 1 points 8 months ago

Start with vanilla Emacs. Slowly but surely you’ll grow your config to the point of … throw it away. And start again. Same story a few times and in the end, there you have it.

[–] [email protected] 1 points 8 months ago

I'm pretty new to emacs too, the best tip I can give you is to start from "raw" emacs, make your own config.

Read Docs, look into others config (do not copy paste), watch systemcrafters tutorial video series.

Atm my emacs config is part of my workflow, I'm pretty happy with it.

[–] [email protected] 1 points 8 months ago

I'm glad nobody is recommending garbage like doom emacs, evil and etc.
Just start from the tutorial start adding your keybindings to make your life easy.

[–] [email protected] 1 points 8 months ago

Don't use "distros" (doom and such) use the vanilla emacs. Do the tutorial and read the manual.

[–] [email protected] 1 points 8 months ago

This post is an automated archive from a submission made on /r/emacs, powered by Fediverser software running on alien.top. Responses to this submission will not be seen by the original author until they claim ownership of their alien.top account. Please consider reaching out to them let them know about this post and help them migrate to Lemmy.

Lemmy users: you are still very much encouraged to participate in the discussion. There are still many other subscribers on [email protected] that can benefit from your contribution and join in the conversation.

Reddit users: you can also join the fediverse right away by getting by visiting https://portal.alien.top. If you are looking for a Reddit alternative made for and by an independent community, check out Fediverser.

[–] [email protected] 1 points 8 months ago

Welcome!

Try this one

https://www.gnu.org/software/emacs/tour/

After I got more familiar with Emacs I spent some time to walk through each chapter of the Emacs manual. Even if you think you know how to search and replace within Emacs, after reading the chapter about it you know even more.

And what is most often forgotten: Use the menu bar. You can find most of the basic commands and their shortcuts there.

[–] [email protected] 1 points 8 months ago

I'm not really agreeing with much of what is here, and I say that as someone that recently learnt to use (and abuse) Emacs recently.

For starters, vanilla Emacs is just too raw to be useful (especially for coding), but Doom and Spacemacs I found to be too opinionated and basically felt like too much of a deviation from vanilla and like I had bought an off the shelf IDE.

Eventually I found Prelude, and that seemed to be a happy medium of being quite vanilla but still being ready to use for coding.

The major hurdle at the start was keybindings - but I had trained myself a bit by using the Emacs bindings in VS Code first.

[–] [email protected] 1 points 8 months ago

https://www.emacswiki.org/emacs/SiteMap#LearningEmacs

That is, just go to Emacs Wiki. The very first heading after How to use this site is Learning About Emacs.

There you'll find lots of suggestions from Emacs users, new and veteran (including probably all or most suggestions you'll find here). Anyone can add their suggestions there (like here, but all in a single place).

[–] [email protected] 1 points 8 months ago

https://www.masteringemacs.org/

The author posts on this subreddit.

[–] [email protected] 1 points 8 months ago

I used Doom Emacs since I came from Vim but have recently switched to what is called Vanilla Emacs which basically means install emacs and use blank init.el file. The init.el file is where all your custom configuration for emacs will be built up over time.

If you don't have a muscle memory from Vim keybindings I would start with Vanilla. Keep your primary editor handy as you build up the init.el if you need to get some work done very quickly but begin to ween yourself off the primary editor as you figure out how to do things more efficiently in emacs. If Emacs is keeping you from getting some work you have pressure to get done you may burn out and throw it away.

I like this person's youtube channel: https://www.youtube.com/@SystemCrafters/playlists

Emacs from Scratch on that playlists page is a good video series.

He starts off with a blank init.el and builds it up over the series. By video 7 he gets to something called org-babel and using org plus code blocks in org to create your init.el.

This is a very nice setup because it allows you to add comments in org format with links etc in a structure you like. It keeps things organized and as your init.el gets larger you can use the org-mode features (org-mode is built into emacs these days) to hide and expand what you want to focus on. I use it to keep detailed notes and explanations and links back to package repos on github and documentation.

This is a popular example of such a setup (advanced) using org to generate the init.el https://sachachua.com/dotemacs/index.html or less pretty on github https://github.com/sachac/.emacs.d/blob/gh-pages/Sacha.org

Edit:

I've also found ChatGPT fairly good with emacs-lisp (configuration language for init.el) and emacs questions. Not perfect and you will find out when you put the wrong code it suggests and it doesn't work but it gets things right more often than wrong.

[–] [email protected] 1 points 8 months ago

Use menus. The key bindings is the Way, but also noh at all logicql in the beginning.

C-x C-c is life saver combo in the beginning.

[–] [email protected] 1 points 8 months ago

EmacsConf 2023 just wrapped up, but you can watch the prerecorded talks here: https://emacsconf.org/2023/

[–] [email protected] 1 points 8 months ago

Learn how to use the built-in help functions.

[–] [email protected] 1 points 8 months ago

emacs is a hard to learn because you need context to understand anything from a tutorial, which isn't intuitive unless you use emacs, but to start using emacs you won't get anywhere without some kind of guidance, which usually comes in the form of a tutorial.

it's a 'the chicken or the egg' sort of problem. my recommendation is doing both. start using emacs exclusively as your full-time text editor unless you absolutely need to use something else to meet a deadline, and read through a tutorial or manual in your spare time. it's hard at first, there isn't really any way around it, but after a couple weeks of powering through it it gets easier. having the cheatsheet open on the side helps.

[–] [email protected] 1 points 8 months ago

The best way to learn it is to use it. Start with vanilla emacs and a project, and commit to using it. You’ll learn more by needing to figure out how to mark, copy, and paste than just reading about it.

[–] [email protected] 1 points 8 months ago

I'd start with traditional emacs key bindings and a rudimentary initialization file. As you get more comfortable, increase the complexity of your initialization file to solve a current need. I'd advise not thinking about learning emacs but think about using emacs instead. If you're persistent, you'll use it to solve a set of different problems (using myself as an example, I've started using emacs as a replacement for two usecases--text generation and automated search and replacement on a large number of files--that I typically solved with shell scripts).

Not wasting a huge amount of time screwing around with emacs requires discipline as it's easy to screw around on things with little value (e.g. trying every theme you can find or searching for the perfect fix to something that only happens on startup) because it's interesting. I'd plan on a little time for fun but avoid going overboard.

[–] [email protected] 1 points 8 months ago

I’m taking classes from Prot. He’s very clear, patient and very expert on the matter: you might find this as a possibility source to be considered.

https://protesilaos.com/coach/

[–] [email protected] 1 points 8 months ago

I found this guide helpful.

[–] [email protected] 1 points 8 months ago

I agree with r/cljnewbie2019. Unless you are already a champion Vimmer, start with a standard, vanilla Emacs. I was a Vimmer for 23+ years and started using Spacemacs (something like Doom but Doom is much better), but soon got off that and rolled my own evil configuration. I've been using Emacs with evil bindings for around 5 years now, and find it suits me well for my current business needs.

But when I have some time, I will switch to vanilla Emacs bindings. Why? Because basically all the documentation for Emacs, plus 99.99% of the packages, are built and documented for vanilla Emacs. Some very nice package will not work at all when using Evil, so you either have to find an Evil version of it, build your own, or do without.

So unless you have good reason to use Doom, you might want to do something else. Doom gives you a "menu structure" by grouping various functions under a prefix key binding. Instead, you could leave the menu bar in place which would give you much of that menu structure. Doom has a good way to configure packages, but it's the "Doom way or the highway", and you will find that most packages do not have documentation for Doom installation...so you better know that way of configuring.

OTOH, Doom is highly optimized for speed and for those coming over from the Vim world, it is an excellent choice when making the switch to Emacs. All your ex commands will work as expected, but you'll use the Doom menu (which is pretty good).

Whatever you do, check out General.el for key bindings. It will make your like a LOT easier when setting up key bindings. Just DDG or google "emacs general.el". This package will tickle your happy place. It will easily do standard vanilla or Evil key bindings.

[–] [email protected] 1 points 8 months ago

If you don't want to spend 20yrs to get better at Emacs, use a spaced repetition software like Anki to learn all the shortcuts. I use native Emacs keybindings because they are way easier to remember and compose well with a multitude of emacs packages without conflicts. Right now I can remember over 100 Emacs bindings. Once you remember many shortcuts they slowly become muscles memory just like learning to drive. At this phase, you don't think about editing anymore, your fingers do the right thing just like a musician playing a piano. After this stage you get more and more greedier, you start making your own macros that do stuff you want coz lisp based syntax lets you do whatever you want with least effort compared to JavaScript,Lua or any other language.

Step 1 is memorising shortcuts, use anki to do it with least effort. It only takes 5-10 minutes a day.