this post was submitted on 22 Nov 2023
4 points (100.0% liked)
Emacs
311 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
- Posts should be emacs related
- Be kind please
- Yes, we already know: Google results for "emacs" and "vi" link to each other. We good.
Emacs Resources
Emacs Tutorials
- Beginner’s Guide to Emacs
- Absolute Beginner's Guide to Emacs
- How to Learn Emacs: A Hand-drawn One-pager for Beginners
Useful Emacs configuration files and distributions
Quick pain-saver tip
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
It's pretty tiny compared to a lot of languages considering that most of what you use it for is working with Emacs, which has a small number of intrinsic types like buffers, windows, frames, text properties etc.
Compared to being the kind of person who reads
use-package
like JSON and treats it like a declaration language, you will be light years ahead at configuration if you just know lists, quoting, alists, plists, and writing functions. Users who don't go at least that far will be constantly shooting themselves in the foot and spending much more time with minor, novice level bugs that are completely obvious.Hey,
use-package
user here. I switched from my half-baked NIH init framework with a bunch of functions and other stuff you're talking about, and never looked back.My 1670kLoC config doesn't contain any definitions and mostly declarative. If I need to
defun
something (so, there's no package with similar functionality) - there's definitely time to start another package. I don't even need to publish it on MELPA, since installation from git sources hasn't been an issue since Quelpa appeared (like 10 years ago).Debugging
use-package
forms is very easy if you know about macro expansion.Do you have a good resource for learning this?
I'm making what I believe to be a better one.
The elisp manual is not bad. Between shortdocs and that, using the scratch buffer or ielm, it's pretty fast to get going. I would save an elisp buffer to a file at first. Scratch is ephemeral by default. Like anything, reinforcement and consistent effort go farther than having the perfect approach.
Correction: It's actually rather sprawling and one of the least "compact" languages. [1] Doesn't mean we shouldn't read and write it, though.
[1] See section 2, "Compactness and Orthogonality", in Chapter 4 of The Art of Unix Programming, by Eric Raymond (2003).