Emacs is not a great text editor in and of itself—it’s a building material for the best text editor you can make for yourself.
I find this to be absolutely true as I stare at my 1700 line init.el
that customizes Emacs to my needs. There is a way to do pretty much anything you could want with enough fiddling.
Read Why Emacs: Redux by Bozhidar Batsov.
Links to this note
-
A free/libre text editor that has so much functionality that it’s often joked about being an operating system that has an ok text editor.
-
Tools for Thought Are Necessarily Monolithic
I read Unbundling Tools for Thought and I find myself agreeing and disagreeing. They are correct that people over invest in tools for networked thought and can get stuck in an unproductive cycle of rebuilding the system over and over again. They are incorrect that the solution is to unbundle into multiple tools and interop between them—point solutions are good at what they do but don’t provide as much building material needed to make it a home.
-
Embark for Emacs seems like a useful way to further customize Emacs actions (
M-x
). I still don’t understand why I would want to use it, so this note is an exploration to try it out and see if it’s useful. -
Show All Buffer Local Variables in an Emacs Buffer
Sometimes using Emacs you want to know what variables are being set in the current buffer.
C-h v
lists all the variables, including buffer-local variables in the minibuffer which you can then search and refine just like any other minibuffer session. This is really handy when you customized some settings using hooks and want to verify they took. For example, setting theorg-download
directory based on filetags. -
While I don’t write code every day, I find it incredibly convenient.
-
It’s useful to think about the underlying utilities that go into running one’s life and business with the same rigor used to build something significant. Afterall, the things we rely on every day can have an outsized impact on our own performance so why not treat it that way?
-
I built org-ai using Python which exposes an AI chat interface through a simple CLI. This makes it a bit clunky when using it from Emacs—I would need to open up an instance of a terminal, activate the virtual environment, and execute the program to start the chat.
-
A pattern I really like in Notion is that you can a
@
(at) mention any page with search as you type and autocomplete. I’d like to do something similar in org-mode so that I can quickly link related headlines. -
GCMH Fixes Emacs Garbage Collection Pauses
When working in emacs, especially in large org-mode files and completion lists, garbage collection pauses cause the experience to feel sluggish. By deferring garbage collection until there is no user input (e.g. you stop typing or step away), the Garbage Collector Magic Hack (GCMH) keeps the Emacs feeling snappy.
-
The nice part about ChromaDB is that you can read the tables in SQLite using the new Emacs 29
sqlite-mode
. That means there is no other configuration for accessing the database, you can open the sqlite file directly. -
I want to better utilize AI tools in my day-to-day work. I suspect there is much more I can be doing and using Emacs as building material to make it work for me.
-
Defadvice
Is Text Editor SuperglueThe Emacs
advice
system lets you modify the code running Emacs in a simple way. For example, if you wanted to change one line in a package you use to do something different or fix a bug before the maintainers release a new version, you can “advise” code to do what you want.