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

searching words in history similar to insert-last-word

Hi folks,

I'm looking for a way to complete the last word I'm typing on the command
line by doing a history search.  With Alt-. (insert-last-word) I can browse
through the last words of the previous lines, but I'm looking for something
more clever.  My use case is this:

I'm copying files to remote machines with scp, e.g.

  $ scp foo user@machine1.domain:
  $ scp bar baz .* user@machine2.domain:

I'd like to be able to simplify this by being able to type

  $ scp xyz user@<SHIFT-UP><SHIFT-UP>

to yield

  $ scp xyz user@machine1.domain:

When I press <SHIFT-UP> repeatedly, zsh should replace the last word on the
line with words from the history that begin with "user@".  The function
name might be something like "beginning-search-up".  Some extra features
or options would be:

1. Ignore the first word of each line but look through all other words
   on each history line.
2. (If the word that is to be completed is the first word on the line,
   only consider the first word of all history lines.)
3. Allow searching in the other direction with <SHIFT-DOWN>.


And as a related but seperate issue:

How can I make a function that works like insert-last-word but works in the
opposite direction (insert-next-word).  This would of course only be
usefull if I use insert-last-word first.


Dominik ^_^  ^_^

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