help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: What completion mechanisms are you using?


From: Drew Adams
Subject: RE: What completion mechanisms are you using?
Date: Sun, 1 Feb 2009 08:09:14 -0800

> > > ask you what extensions you are using and how they help you
> > > to optimize your day to day work.
> > 
> > I'm a big fan icicles. It adds completion for pretty much 
> > any minibuffer related activity you can think of (and then some).
> > I still haven't come close to really utilizing it to it's full
> > potential (but then, with emacs in general that is a rather
> > normal state of affairs for me!)
> > 
> > Features that I use often would include:
> >  * Regex and Fuzzy matching.  These are great when I have a 
> >    general idea what something I'm looking for is named but not
> >    exactly. Also good for exploring possibilities within a
> >    subset of functionality.
> > 
> >  * Saving completion lists to act as de facto file listings for
> >    projects.
> >  
> >  * Using it's completion to enhance the discoverability of emacs
> >    commands for myself.
> 
> At the moment i use ido and icomplete. But icicles seems 
> really nice for completion. The only problem i have is, that 
> it doesn't work well with ido.

Icicles and Ido are incompatible. They use the minibuffer in different ways.
Icicles stays closer to the vanilla Emacs behavior, extending it by using
additional keys.

> Why i want this weird setup is easy. I think ido is perfect 
> for files with the way it shows them to me on selecting and 
> the way you can browse through directories.

You would need to be more specific for me to be helpful about this wrt Icicles.
What do you mean by "shows them to me on selecting"?

If you mean that the file is visited as soon as you type enough characters to
get a match, then you can get similar behavior with Icicles (see links below).

> For example with ido you just have to hit Backspace to go one
> directory up.

Icicles is like vanilla Emacs wrt editing in the minibuffer: Backspace
just back-spaces, etc. To go up a directory, you need to hit 3 keys,
`M-k ..', instead of one. That's the same as vanilla Emacs - Icicles justs adds
a `M-k' binding to clear the minibuffer.

IOW, Icicles does not have separate editing and command modes in the minibuffer.
Like vanilla Emacs, Icicles minibuffer interaction is not modal. Backspace is
always an editing key.

You could of course bind some key in the minibuffer keymaps to go up a
directory.

> So has somebody a clue how i can setup icicles that it gets 
> used for everything except the things ido uses?

As I said, their use of the minibuffer conflicts. This makes them incompatible -
each tries to control the minibuffer UI. Icicles generally plays along with
vanilla Emacs minibuffer bindings; Ido does not.

That said, there are some Icicles options you can use to make some of the
behavior more Ido-like. See:
http://www.emacswiki.org/emacs/Icicles_-_Alternative_Libraries and
http://www.emacswiki.org/emacs/Icicles_-_S-RET

But overall, do not look to reproducing the Ido UI in Icicles. That's a bit like
trying to reproduce vi-like behavior in Emacs: You can do it to some extent, but
an Ido or VI diehard will likely be disappointed with the compromise.

On the other hand, Icicles is compatible with Iswitchb, which is similar to Ido
for buffer-switching.

BTW, someone mentioned Ido's "flex" matching. That is also available with
Icicles (I call it "scatter" matching). You can switch matching methods at any
time by hitting `C-(' or `M-(' in the minibuffer:

* `C-(' cycles between fuzzy and prefix completion (for TAB)
* `M-(' cycles between regexp/substring, scatter (flex), and
  Levenshtein completion (for S-TAB)

HTH.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]