Introduction
Programming feels fun again. The reason is Emacs, which I started using last month.
I’ve often tried a new setup, only to return to IntelliJ after a week or two. This time, though, I’ve stuck with Emacs for over a month, and it feels like a surprisingly natural fit.
I’m using Doom Emacs. Right after installation it already feels like a finely crafted environment.
How programming has changed
With advances in AI, programming has been shifting from “writing code” to “giving instructions in natural language”. Because of that, a plain text editor can sometimes feel more compatible than an IDE specialized for one language.
It used to be “programming = searching”: look things up in the browser, write code in the IDE. Editor completion reduced the need to search and was very convenient.
Now AI answers questions and searches for us. I open the browser far less, and my flow is less interrupted. Since CLI‑friendly coding agents became available, a CUI‑centric workflow has become very comfortable. It’s easy to spin up small tools, and even complex commands can be assembled with help from AI.
Seen this way, editors that live in the terminal—Vim and Emacs—actually fit the AI era quite well.
How I use it day to day
Lately I work with Tmux + Emacs. I start a Tmux session per project and run terminal Emacs inside it.
I tried the purist approach of “do everything inside Emacs,” but that was a bit much for me. I use Magit for Git, and for most other tasks I just use regular CLI tools—that balance feels right.
For notes and Org‑mode I use GUI Emacs. In the GUI I can view images and keep notes open in a separate window while coding, which suits organizing and recording.
Why Emacs over Vim
Doom Emacs is built around Evil mode, so it feels almost like Vim. So why not Vim? For me the reason is Org‑mode.
I can keep notes, code, and TODOs all in a single file. It works well as an outliner. After trying countless memo apps and outliners, this was the deciding factor for me.
This post is also written in Org‑mode and published using uniorg.
On top of that, the keybindings and overall feel of Doom are exquisite—I can’t help but feel respect for the effort that went into it.
And Emacs Lisp is fun. In the past, even after reading an intro book I didn’t feel I could use it productively. With AI today, I can customize by writing Emacs Lisp from day one, learning from the AI’s output as study material.
Remembering the joy of programming
I switch between editor and terminal with Tmux while developing. The feel of those operations has a kind of “game‑like” fun.
Thinking back, when I was first absorbed in programming, I used Emacs. Coming back to it after all these years feels like a curious twist of fate.
Modern environments are convenient, but in some ways they can feel constraining. With AI on top, I sometimes wondered, “Where did the programming we loved go?”
Emacs, by contrast, leaves room to customize and tinker—space for creativity. Even as AI keeps taking over tasks, finding the “joy of ingenuity” in Emacs gives me hope.