Minimal and fast emacs

For a few years, I’ve been using Doom Emacs as it was easier to have a powerful IDE configured by default. Enabling new features is extremely easy using a simple configuration file. In my previous post, I recommended to try it as it shows what Emacs is capable of. Having it setup for ViM keybindings also eased my transition from ViM back then. Emacs work great with its default keybindings but trying to make ViM keybinding works is not easy. In short, you often have conflicts between the two approaches. Another advantage of Doom Emacs is that it maximizes performances out-of-the-box. Finally, it manages extensions for you, as a package manager. Two issues I’ve encountered in practice were due to the management. As it’s a fast-moving project, updates have several times broken my configuration. It wasn’t very often and was solved by cleaning the local cache. Nevertheless, updates were a bit stressful as I relied on Emacs for task management, notes, mail at work and at home.

The first time I tried to write my configuration from scratch, I come to two conclusions. First, managing both ViM and Emacs keybindings is quite painful. Second, Doom Emacs has several optimizations, especially lazy loading, that I could not reproduce. It is quite obvious Henrik Lissner has spent a lot of time fine-tuning this. A few months ago, I stumbled upon minimal starter kits that claims to be super-fast. It only improves Emacs performances: configuration and package management are up-to-you (even though some of them offers packages installed and configured out of the box). Now that Emacs has native compilation and with the awesome release of Emacs 30.1, the editor is more performant than ever. Windows was also a major issue. With this configuration, it takes a few seconds to start up but usage is reasonably fast. Some even say it does not matter.

One thing was missing though: what about ViM keybindings ? At that point, I was ready to try anything. After switching from a Bepo keyboard layout to an Ergo-L layout, I discovered you can have Ctr and Alt keys on the home-row layer (where your fingers should spend most of their time !). This is possible thanks to Arsenik. This made Emacs keybinding finally usable. Arsenik can be used on Windows but it requires to be installed as the portable version does not work. It may sometimes requires to log-out and log-in in my experience.

As a conclusion, shout-out to these Emacs distributions, apart from Doom Emacs of course:

The best configuration is the one that suits you.

Life in Emacs (revisited)
Command-line utilities