Emacs: Power of Icicles

By Xah Lee. Date:

on g+, a conversation went to the emacs package Icicles. A sort of overwhelming completion feature for emacs. In 2009, i tried to install and see what it is, but stuck at the download step. One thousand files with ten thousand words telling you how to install it. I made a complaint to Drew Adams, its author, and it's falling on deaf ears. Needless to say, i never even started the install step. I don't plan to spend 8 hours to just see what it does. 〔➤ The Icicles Saga — A Tech Geeking Story

But, Nick Alcock, a old-time emacs and C expert, elucidates us. 〔source

Icicles just, well, does more. helm et al let you do fuzzy completion and the like, as I understand it. Icicles lets you do things like “find all files in any of these directories or subdirectories with names beginning with ‘foo’, created in the last six weeks, which also have ‘blah’ somewhere in their name and which contain content matching the regular expression ‘baz’, but which do not have ‘womble’ in their name anywhere”. That's about thirty keystrokes, btw. Oh, and if you want to open several files like that, you can do it without exiting completion (probably a good idea because that content search might not be very fast). You can even delete some of them from inside completion if you like. And this interface works with everything that uses completion. Everything.

Its only problem is that it has so many features that it takes about a week just to read the documentation and about a month to get used to it. But once you do, it is amazing. (Its defaults are amazingly well-chosen, too. My working practices are quite different from its author's and I had several clashing keybindings, but I only needed to tweak about six variables to fix it all. Among other excellent decisions, all its keybindings are described in individual easily-tweakable variables which the mode consults when turning itself on…)

I put off learning icicles for years because it was so huge and intimidating. That was a very bad decision on my part.

Nick is also a Maltron keyboard user. The image at the bottom of Maltron Keyboard Review is his keyboard.

PS today, you can Alt+x list-packages to install Icicles. I haven't done so yet.

Icicles home page is at http://www.emacswiki.org/emacs/Icicles

Like it? Buy Xah Emacs Tutorial.