Evolving into an Emacs User
This is my first post written in org-mode and exported to .md ! Works quite well.
Picking Up Emacs in 2024?
Why would I do this to myself? What brought this on?
I actually fought this for a while–somewhere in the corner of my mind I was writing “I will not try out Emacs” on a blackboard over and over to avoid "wasting time" trying Emacs. My argument against trying Emacs was that Neovim works well enough for my purposes, which is programming simple projects and scripts, and editing config files.
What finally spurred me to give it a try was my frustration with taking notes in Logseq–its one flaw for me is the lack of good editing keybindings (and I wasn’t interested in hacking together something semi-usable with a custom keybinding config). I searched for replacements, and Org-mode came up a lot. I think the most critical moment came when I was watching a video showcasing a Neovim plugin for note-taking, and a comment said something to the effect of…
This is cool and all, but you’re bending backwards for a fraction of what org-mode would get you.
Since I’m not married to Neovim, it was natural to just try out Emacs for code editing as well. I use Doom Emacs, and for me tweaking the config is easier and more straightforward. To get support for go
and python
working, I just had to uncomment some lines that were already present in the config. My needs are really simple so I don’t have any complaints right now.
Once I realized what Emacs really is–an environment with shared keybindings centered around displaying/manipulating text–I knew I had to give it a go. I like it, and I think it fits me, which feels great.
Why I Actually Like It So Far
Org-mode and its prospects Babel, literate programming/configuration, organization(duh), are all really appealing to me. Org-mode eclipses what the vim notetaking plugins are trying to do, it just has a huge headstart. Tables are a great example.
Feels easier to have multiple windows + terminals than using tmux + neovim
Emacs and Vim shortcuts at hand:
Ex: I don’t have to switch from Insert mode to normal to move by word or character, I can use Emacs’s shortcuts for that. It is small but that’s always felt a bit clunky to me in Vim.
After I learned the readline shortcuts, this is what I wanted and what feels most natural to me, a kind of hybrid where whatever I press basically works. The only thing I haven’t configured yet is rebinding C-h to backspace like in Readline–it’s the “help” keybinding in Emacs.
M-x makes it easy to discover/do things without knowing literally every keyboard shortcut. I guess this bullet point is really appreciating Emacs's "self-documenting" aspect.
More flexible in terms of display: I can have different fonts from my terminal font–including variable-width for reading/writing.
Plus: I don't know if Vim can do this, but it's really easy to change the way that buffer(s) are displayed in Emacs. I can just activate perfect-margin-mode if I feel like it, get a nice-looking preview of markdown, and there's more I haven't done yet.
- The whole “everything is a buffer” thing means it’s pretty easy to just yank text from anywhere I want and paste it elsewhere
- Generally feels like a lot of little things I had wished for without knowing it are present. Like the scratch buffer, it's always there for me to just switch to when needed.
- Overall it just feels more cohesive than the workflow that is almost the same, but without Emacs, where one uses whatever terminal emulator + a multiplexer + terminal editor to accomplish tasks. This mostly applies when I'm, say, working in a repo on a project, or working on writing something. I don't use Emacs for literally everything (yet?), so I still open my terminal emulator (kitty) all the time.
Anyway, all that’s to say that Emacs is…well, in a word I’m finding it delightful. Even in 2024, it has strong merits and it’s not a non-starter, and with the help of Doom it’s not too complex to use or learn.
I do think that willingness to learn/mindset can be critical here, as that’s a small roadblock I had initially, but that’s another post.