[Top][All Lists]

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

Re: What completion mechanisms are you using?

From: Christian Engels
Subject: Re: What completion mechanisms are you using?
Date: Sun, 01 Feb 2009 19:43:27 +0100
User-agent: Wanderlust/2.15.6 (Almost Unreal) Emacs/23.0 Mule/6.0 (HANACHIRUSATO)

At Sun, 1 Feb 2009 08:09:14 -0800,
Drew Adams wrote:
> > > > 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).

No, what i mean is the following behaviour. If i type C-x C-f i get right away 
list of possible matches in the minibuffer. This get more refined if i add 
For example if i am in a directory with the files aa.txt aac.txt b.txt after 
i get the following line in the minibuffer:
find file: ~/{aa.txt | aac.txt | b.txt}
If i now type a it looks like:
find file: ~/a[a]{aa.txt | aac.txt}
If i now hit Return i get aa.txt and if i hit right cursor it changes to
find file: ~/{aac.txt | b.txt | aa.txt}.

I hope this gets clearer.

> > 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.

I didn't know that, thanks for the advice but binding a key will not really 
Again an example of ido's behaviour:
find file: a{ aa.txt | aac.txt | b.txt}
If i now hit Backspace i get
find file: /tmp/{ aa.txt | aac.txt | b.txt}
If i now hit backspace again i get
find file: /{ $list of files}

Is this possible with a keybinding?

> > 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:
> and
> 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.

The above features of ido i mentioned are basically the daily stuff i use and 
missed when i tried icicles for some minutes.

Christian Engels

reply via email to

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