Despite me doing my best to track Emacs development and build the latest
master
regularly, I forgot to check out the improvements on the default
*Completions*
buffer that are going to be available on the next official
release of our favourite text editor. Thankfully, Robert
Enzmann did it for me.
Much like Robert, I’ve been living with Vertico, Consult, Corfu and Orderless for a while now, and you won’t be hearing any complaint from me on that side. These packages are simply fantastic. Still, by now a regular reader knows I enjoy the vanilla Emacs experience, and if there is a chance to stick with it I am not the one who is going to miss it.
Robert did a great job already at explaining what’s new when it comes to
built-in completions and what settings you can tweak to take advantage of the
new developments. He is sporting pretty animations too, so go check his writing
for further details. I’ll just mention that, beside setting
completions-header-format
to nil
, I set completion-show-help
to nil
to
keep the *Completions*
buffer as clean as possible.
A setup like this is a radical change for me. From my IDO days, I have always relied on a completion approach rather different than what is available on the very first Emacs run. Basically one that provides more than a bare prompt. As expected, it took me a while to adapt and learn to change my old habits. Take M-x , for instance. With Helm or Icomplete candidates appear before I hit other keys, and since I usually sort them by usage, I can navigate to the most recent one without typing its name at all. To overcome the confusion, I tried to think at the prompt as a shell one. Like I do in a shell, I type some letters and then reach for TAB to complete the rest. It’s not that I wasn’t doing something like this before. Think of file paths, for example. However, most of the times the initial list took me away from the prompt entirely because what I was after was a C-n away.
Moreover, every Vertico and friends user knows that they stay close to Emacs internals and work like building blocks, nicely complementing each other in order to extend step by step core functionalities. This means that nothing is stopping me to keep Consult and Orderless around or having Corfu ready to pop up completion candidates at point without having to move my eyes to the bottom of the screen. For anyone yet not convinced, this is another sound proof of how carefully the likes of Daniel Mendler and Omar Antolín Camarena designed their packages.
To get back at Robert’s article, I’ll ask myself the same question he did to
himself and I’ll reply with a similar, enigmatic answer: will I see the
*Completions*
buffer more often from now on? Yes, probably yes.