Apple to GNU/Linux Journal - GNU Emacs
2025-08-19
Back in late May and early June I began to give GNU Emacs a try. I’d opened it once or twice before only to quit it after a few minutes. Why bother when there are so many other text editors to choose from? The first thing I noticed about GNU Emacs was that it used different keybindings from those that have become fairly standard across most text editors. So, right off, that was a barrier. But that was just the start. I quickly discovered that almost everything about the application was different from every other text editor I’d ever used. What’s a buffer? Windows in GNU Emacs behave very differently from a standard application? What’s a Frame? Oh, a Frame is what I think of as an application window in most apps. The list goes on but those are a few of the earliest observations and difficulties.
I’d concluded that Emacs was a relic of the past using keybindings, terminology, application behavior that is contrary to most other apps.
People said yes, yes, but have you tried org mode? You can use Emacs as a mail client or read news groups! It has a built in web browser! It will do everything. It is adaptable and extendable. It is it’s own operating system! It’s a nearly endless list because users can add new functionality. I remain intrigued by the notion of doing my email from within Emacs though the set-up seemed to be far beyond my capabilities. So, yes, very powerful, I understood that and could understand the appeal. It reminded me of Obsidian in that it is an extendable app with a large, dedicated community of users that always seem to be pushing the boundaries of what’s possible with a single app. But where Obsidian just a youngster (initial release in 2020) GNU Emacs is a software elder initially released in 1985. It’s odd keybindings, terminology and design date back to a time long before today’s keybinding standards existed.
There was something intriguing about the fact that this elder app still has so many passionate users and is still actively developed. And by this time I’d begun learning more about GNU as an operating system and with that new knowledge a kind of appreciation and respect was growing. According to Wikipedia “GNU Emacs has been a central component of the GNU project and a flagship project of the free software movement.” It felt wrong not to try. So I kept circling and on the fourth try it stuck. To be honest the 4th try was really the first actual effort. Unlike the first three looks, I knew before opening the app to expect a different experience. I knew I would have to make an immediate effort to learn beyond the normal learning of a new app.
As I type this in mid August I can say that using GNU Emacs is now daily practice and has been for a couple months.
My use case
Since February 2024 I’be been doing anything text related in a single text file, the OBTF (One Big Tex File). That file stays open all the time and is a daily log of activities as well as a place for notes, blog post drafts and pretty much everything else. It’s been great having everything in that one file. As plain text files go, it’s a fairly large file at 1.4mb and 20,000+ lines. Emacs has no problem with a file of that size. I’ve never encountered lag in typing or saving files. Some other text editors also do very well with large files but some struggle.
Most of my writing is intended to be a blog post and once I’ve got a draft ready to publish I change its tag from Draft to Published then copy/paste it into a separate markdown file that exists simply as a place to process markdown into html which is easy thanks to the installed Markdown plugin. From there I copy the html, and, still in Emacs browse to my local folder for blog posts where I go through several steps, all in Emacs to publish a post. The final step is uploading the file in Filezilla.
Which brings me to website related work. I manage all the html/css updates for my sites as well as client sites in Emacs which does a great job in terms of displaying code in css, html, markdown (via the markdown plugin). I’ve gotten the hang of browsing the file directory within Emacs.
What I’m not doing with Emacs
I’m not using it for all the things it is capable of though I’m still interested in some of those. I’ve tried the web browser and it’s an interesting experience and reminder of the early days of the web with just a basic presentation of text and images with no styling. But not something I see myself using regularly. Are there use cases for it? I’m not sure.
I can imagine I’d like to use it for email but the set-up looks to be challenging to a level I’m not interested in taking on at the moment. I’m actually really happy with Thunderbird/Icedove so it would be an exercise in curiosity that, for now, I’ll forego.
What I may use it for in the near future
Related to Email is Calendar and To-do related tracking. I’ve got all that set-up in Thunderbird/Icedove and it generally seems to work pretty well. The benefit of keeping it there is notifications and repeating to-dos. And, of course, those often go hand-in-hand with email.
That said, unlike email, using the calendar function in Emacs is easy peasy! I’d forgotten to try it out and just this morning as I’ve been working on this post it occurred to me that I needed to at least give it a look. Given how much time I spend in my OBTF in Emacs having my calendar/todos fits just as well here as it does in Thunderbird. There’s really no setup involved. I just opened the Tools menu and selected Calendar which brings up a 3 month overview in the Emacs Buffer. New diary entries can be made via a right click on any day in the calendar which will bring up a contextual menu. If the Diary is already open in a window or buffer the new item will be inserted at the cursor. Or, the keyboard can be used to navigate the calendar directly and new entries added via keyboard.
I’ll stop there in describing the Calendar simply because that could easily be it’s own post. The point is that the GNU Emacs Calendar seems really useful, quick to navigate and likely much faster to create new entries. I’ll be using and exploring it in coming days to determine whether I might try it as a Thunderbird/Icedove replacement.
The frame on the right is split into two windows with an html document on the top and a Directory Browser on the bottom. Notice all of the columns of information in that browser, most of which I never need to see. Seems like a waste of space.
Windows vs Frames
Another couple of features I wanted to touch on is Windows and Frames. Unlike most apps I’ve worked with in the past, GNU Emacs refers to separate windows as Frames. A Frame can be split into multiple Windows. In the first screenshot of this post I’ve got two Frames side by side. The Frame featuring the Calendar is split vertically into two windows. When I first started using Emacs I thought I would use one full-screen sized Frame split into various Windows as they can be split vertically and horizontally. In practice I was never quite able to sort out how to organize and control Windows in a way that made sense. What has worked better for me is to keep two Frames side by side and split those horizontally as needed, usually to open a directory above or below a document being edited.
A special kind of Frame is the Speedbar (above) that I’ve recently discovered and will likely use more. It provides a detached sidebar that can be used to quickly navigate buffers and files of the Frame it is associated with. It seems like a more efficient use of the screen than the Directory Browser as it can be arranged as a tall, narrow pane displaying only the name of folders/files.
A few concluding thoughts
Though I find myself fairly comfortable in Emacs I know that there are quite a few features I’m not yet using. Some of them I may never use and I’m okay with that simply because it’s such an excellent text editor as I am using it now. I’m certain the current text editing experience will improve because there are still keybindings I’m not using and I expect to gradually learn more of those.
Finally, though I’ve customized a few things, those customizations are minimal compared to what’s possible. I don’t doubt that going forward I’ll continue to fine tune as I learn more and that as I do so I’ll become ever more comfortable using the app.
I don't have comments but I love email or you can find me on Mastodon.
Share this post