Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Question about _history-complete-older

On Jan 26,  8:10pm, Bernhard Tittelbach wrote:
} In my zsh version 4.3.11, _history-complete-newer  completes a word from
} the history, beginning with the oldest words in the history,
} while _history-complete-older completes a word from history starting
} with the most recent entries.

That's because they wrap around if they don't find anything.  So if
you do "newer" starting from the end, it will immediately find nothing
and then wrap to the beginning and start from there; similarly "older" 
from the end (most recent) will work backward from there.

Thus "newer" and "older" are relative to the entry on which you start
searching, not relative to each other; they refer to the direction of
the search, not to the recency of the entries they find.

If you don't want it to wrap around, you set the "stop" style:

     If set to `true', the _history_complete_word bindable command will
     stop once when reaching the beginning or end of the history.
     Invoking _history_complete_word will then wrap around to the
     opposite end of the history.  If this style is set to `false' (the
     default), _history_complete_word will loop immediately as in a
     menu completion.

There ought to be an example for this, but there isn't, so:

    zstyle :completion:*:history-words stop yes

Also the I see the description for the "list" style is incorrect;
it says:

     The context always starts with `:completion:history-words'.

In fact the context always starts with :completion: and always ENDS
with :history-words, but there may be more context in between.

Messages sorted by: Reverse Date, Date, Thread, Author