May I recommend... Treating Emacs as Emacs
This post is an entry for the Emacs Carnival.
Emacs is just Emacs!
Emacs is more than a text editor
Emacs is a text editor. But it is also a living Emacs Lisp interpreter that happens to edit text.
Think about movie tropes: a traditional samurai movie and a sci-fi movie where energy shields make guns useless, forcing everyone into close melee. Both are about sword fights, but they have completely different vibes.
Emacs is unlike other text editors
When it comes to editing, other editors get you to your destination like motorcycles or cars. Emacs is a camper van. Once you arrive, you can set up a coffee machine and a barbecue grill right there. It might feel "heavy," but for those who need it, it is worth it.
People often complain about Emacs startup speed. Of course, people can strip a camper van down to its bare engine, optimize every part, and rebuild it into a racing kart. But Emacs has a daemon mode. This means Emacs doesn’t work like other editors that you open and close on a whim.
I launch the Emacs daemon when my computer boots. It automatically opens a window in my first workspace with my dashboard. In other workspaces, whenever I need to choose something from my clipboard or launch an application 1 , I just use emacsclient to open a frame. Quite often, I have hundreds of buffers running. They are much like browser tabs, but I can effortlessly navigate buffer using fuzzy search.
Stay close to the Emacs community
Because Emacs has lived for so long, search engine results are a mixed bag of the fresh and the ancient. Some solutions out there are just outdated.
It's a bit of a cliché, but a solid move is to check the Emacs awesome list. Maybe you will discover packages and starter kits currently thriving in the community. Browse through them for features you want. Testing one or two starter kits usually reveals plenty of QOL improvements.
P.S. Emacs news is also a great place to check out!
The "someday" moment...
The most comforting part of Emacs is knowing, "Oh, I am sure there is an Emacs mode for that." But someday, you will have to write something of your own in Emacs Lisp:
- A web service you use is terrible, but what if you could grab its API and handle it inside Emacs...?
- A repetitive workflow is too tedious, can you stitch it all together...?
At that point, facing Emacs Lisp is inevitable. Here is my hot take: to learn Emacs Lisp, you should start with an easier Lisp.
Emacs (Lisp) has some quirks (though I have grown to like them). It left me bewildered: cadr? cadddar? rassq? assq? Why did my code just freeze the entire editor? If you are not in a rush to implement a feature immediately and want a structured learning experience, I recommend starting with Clojure. It offers a much smoother ride and widens your Lisp horizon. Once you have that perspective, coming back to Emacs Lisp feels far more manageable.
Footnotes
1 GitHub - armindarvish/consult-omni: A Powerful Versatile Omni Search inside Emacs · GitHub
