I’ve always been curious about Emacs, but haven’t been able to learn it.
This playlist looks promising, but ufff each video is like 1 hour and most of the video is just random chatting because it’s a live stream…
Does anyone know any better video series? Something structured and to the point?
Don’t start from scratch, you’ll give up long before you get a half decent config. Instead use a “distro” like Doom Emacs or Spacemacs.
If you really want to, get a copy of Mastering Emacs. Afaik it’s the best resource around.
A distro adds extra layers of complexity. If you want to change something you need to know not only how emacs vanilla works, but also specifically how to adapt for your distro.
I found doom fast and pretty powerful out of the box but when I wanted to customize it a bit and saw the mostly unwritten documentation and how it makes everything much more complicated I gave up and returned to my own config.
IMO that’s not realistic for beginners.
I don’t think a beginner that’s just starting to learn a tool is likely to make significant modifications any time soon. I’ve been using doom for like 10 years and so far I’ve only needed to make small changes.
And when they try to change anything, they’ll search “how to set shortcut in doom Emacs” and immediately get the correct answer. If they search for “how to set shortcut in Emacs” they’ll get 50 different methods using 10 different package managers.
And besides that. Learning how to make small modifications to Doom is incomparably easier than building a whole config from scratch. I quit Emacs the first time exactly because of that massive hurdle.
I’ve been using doom for like 10 years and so far I’ve only needed to make small changes.
I used emacs for at least as long before I started REALLY using emacs. And you do that with elisp.
Mike Zamansky videos were great when I started, they might be slightly older, but probably what you’re looking for. IIRC he’s a professor and knows how to explain it well without to much bagage.
https://www.youtube.com/playlist?list=PL9KxKa8NpFxIcNQa9js7dQQIHc81b0-Xg
Ooooh, nice. I just watched
the firstseveral videos. Way more focused, great thanks!
@paequ2@lemmy.today “Emacs” will launch a new instance of Emacs, while “Emacs (Client)” will connect to an already running Emacs Server – unless Emacs takes a long time to start up you may not notice a difference.
Doom and Spacemacs are predefined configurations for Emacs that include many additional packages and custom settings, all of which you could manually add to your own Emacs configuration if you had the time and patience. They both include a range of opinionated decisions about what packages to include and how Emacs should look and feel, which may or may not suit you. I don’t use either of them, but if you’re coming from Vim you might find them interesting because they provide a similar modal editing experience.
Oooooh, ok. Thanks for breaking that down.
What about Emacs GUI vs Emacs TUI? Do people run Emacs as a terminal app? Or is the typical way of running Emacs as a GUI app? How’s the shell integration with the GUI app? Normally, I like staying in the terminal.
I’ve only used the GUI interface, and I think it has some UI features that aren’t available in the TUI interface, but you should be able to use both with (mostly? entirely?) the same configuration.
There are various ways to run terminal/shell sessions from within Emacs, and to run shell commands and capture their output. So while I almost exclusively use the command line, I do it all from within the Emacs GUI.
If you happen to use
git
, you might consider trying magit, an Emacs interface for usinggit
that many people find vastly preferable to usinggit
directly.So while I almost exclusively use the command line, I do it all from within the Emacs GUI.
That’s good to hear. Normally, I have a bunch of file and terminal buffers open in Vim and work across all of them—and stay in Vim the whole time. (Well, unless I need something like a browser.)
Sounds like this is definitely possible in Emacs. Good! I was scared for a moment because I thought I would have to… gasps alt-tab between Emacs and my terminal.
I haven’t been TUI only for roughly two decades now - that’s around the time the server got properly usable.
I typically have a daemon running - on Linux via systemd user session, on MacOS via launchd, on Windows via startup. I then attach GUI frames to that, and - at least on the unix style platforms - typically have a tmux with a TUI frame running.
I have scripts to open files in emacs - that’s easy configurable to either open in the last used frame, or attach a TUI frame in the terminal, and open it there. I also have the EDITOR variable set to those scripts.
When fully using emacs you’d probably end up doing more work in emacs, and only occasionally wanting to do shell call outs.
For example, I edit some project, commit it via magit, trigger a build via compile to pack things up, open dired to move the files to a publish location, then open dired at the publish location and modify the publish package from there, and then finally start a shell in that directory to trigger the publish workflow. Only slight annoyance with that is that out of the box emacs shells are not setup for that kind of multiple shell buffers in specific directiories with easy throwaway - but it’s easy enough to make that work.
@paequ2 follow the inbuilt tutorial and read the Emacs manual (also inbuilt).