After watching Sacha Chua’s interview with Magnar Sveen, I wrote that Sveen had demonstrated some Emacs features that I wanted to try out. One of those was flx-ido
. The flx package was written by Le Wang to bring Sublime Text’s fuzzy matching to Emacs. Wang describes it as fuzzy matching with good sorting.
The ido
package already supports fuzzy matching, of course, so the advantage of flx-ido
is the improved sorting of prospective targets. You can see flx-ido
in action with comparison searches using ido flex in this screencast from Wang. It nicely illustrates the advantages of flx-ido
in a way that writing about it can’t.
I’ve been using the package for about 3 weeks and, after some acclimation, really like it. Initially, I used it like I did ido flex but that gave me suboptimal results. Once I started typing the first character of each word—some-fancy-command → sfc—I got excellent results. If you decide to try it, give yourself a bit of time to get used to it and train yourself to type appropriate abbreviations.
The other thing that I find a huge advantage is ido-vertical-mode. It lists your ido choices vertically instead of the default horizontal method. That makes it much easier to see the choices and pick the correct one. This was one of those things that I was pretty sure I wasn’t going to like but I got used to it right away and wouldn’t want to go back now. Even if you decide not to try flx-ido
, do yourself a favor and give ido-vertical-mode
at try. I think you’ll like it. You can see it in action in the Sveen interview or in an animated gif at its project page.