DEV Community

Oliver Burn
Oliver Burn

Posted on

Emacs 2024 Changes

Wow, it has been nearly two years since I have blogged - time to see if I can still do it. Let's blog about how my Emacs configuration has changed over the last year (2024).

I have now been using Emacs for over thirty years. It used to be the main IDE I wrote code with, but I have long since moved to a dedicated IDE, these days being IntelliJ and VSCode. But, I still using Emacs heavily into two contexts:

  1. Work - I use org-mode heavily for my personal project management and note keeping.
  2. Home - I use ledger-mode for managing my personal finances.

Across both contexts, I lean heavily on:

  1. Dired as a cross-platform file manager. I used to use Midnight Commander but I found it buggy in the end (on MacOS). Since investing time in learning dired it's good enough.
  2. Magit for using Git - I would be lost without this.

As a friend of mine said when I asked why he kept working on his zsh configuration, "it's my version of golf!". Similarly I am often looking to improve my Emacs configuration. I keep up to date by tracking the blogs of Sacha Chua and Irreal, and seeing what takes my fancy.

In the last year I did 25 commits to my .emacs file (yes, it's under Git source control). Here are the major changes I made over the last year:

  • For my templating needs, I moved to tempel (from yasnippet). I have found it to be way more powerful and grok-able.
  • For completions, I finally embraced using corfu, which is nice (especially the integration with tempel). I almost gave up until I realised that I needed to also install cape.
  • I gave up on trying to use a terminal emulator in Emacs, and instead now use terminal-here to open a proper terminal in the current working directory. This approach works much better for me.
  • I improved my dired setup by installing dired-single, dired-collapse and dired-subtree. I also learned about wdired-mode which makes the dired buffer editable (a game changer). 🤯
  • I use asdf and direnv to manage my toolchain at the project level, so to improve the integration with Emacs I installed envrc.

This blogpost was originally posted at https://puppycrawl.com/blog/2024/01/01/emacs-changes.html.

Top comments (0)