Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: zle questions
- X-seq: zsh-users 2992
- From: Sven Wischnowsky <wischnow@xxxxxxxxxxxxxxxxxxxxxxx>
- To: zsh-users@xxxxxxxxxxxxxx
- Subject: Re: zle questions
- Date: Thu, 30 Mar 2000 12:38:45 +0200 (MET DST)
- In-reply-to: jean-baptiste.marchand@xxxxxxxx's message of 30 Mar 2000 12:02:57 +0200
- Mailing-list: contact zsh-users-help@xxxxxxxxxxxxxx; run by ezmlm
jean-baptiste.marchand wrote:
> 1)
>
> I like the menu completion feature (not complist) but I've still
> haven't found how to stop the completion when I've found the file I'm
> interested in :
>
> mylogin@mymachine ~> ls /
>
> then TAB
>
> and zsh cycles trough the directories of /
>
> If I choose /usr, I would like to hit a key to tell zsh to stop the
> completion, put /usr/ on the command-line and continue the menu
> completion in /usr
You just hit whatever key you want (`/' in this case) and that will
stop menucompletion. The `/' is this example is a bit magic (with the
AUTO_REMOVE_SLASH option set): if the completion code automatically
inserted the trailing `/' (as it normally does) and you hit `/' this
doesn't seem to change the command line. But what really happens is
that `/' is one of the characters that automatically remove the
inserted slash and then self-insert inserts it again.
> I thought the zle function accept-and-menu-complete could do the job
> but instead, it inserts the current completion followed by a space...
>
> 2) Is it possible in zle to specify word boundaries when using
> backward-kill-word ?
>
> In GNU Bash, you can do the following :
>
> mylogin@mymachine ~> ls /usr/X11R6/bin
>
> and if you want to execute 'ls' in '/usr/X11R6/' instead of
> '/usr/X11R6/bin', you would hit ^W and it would kill the word '/bin'.
> Instead, Zsh kills the whole '/usr/X11R6/bin'. It is because GNU Bash
> recognizes '/' as a word boundary by default.
>
> I found this feature quite interesting but maybe there is another way
> to do this easily.
The zle widgets for word movement/killing/whatever should all use the
$WORDCHARS special parameter. That gives the characters that are
normally considered to be part of a word (sans the alphanumeric ones
which are always considered to be part of words) -- and normally it
contains the slash. So you can just remove all characters from
$WORDCHARS where you want the cursor to be moved to or where you want
the word killing function to kill to.
Bye
Sven
--
Sven Wischnowsky wischnow@xxxxxxxxxxxxxxxxxxxxxxx
Messages sorted by:
Reverse Date,
Date,
Thread,
Author