zsh-users
 help / color / mirror / code / Atom feed
From: Andrey Butirsky <butirsky@gmail.com>
To: zsh-users@zsh.org
Subject: Re: emulate bash key bindings
Date: Thu, 9 Jan 2020 00:55:58 +0300	[thread overview]
Message-ID: <3e056cff-f690-f416-d8b6-89059c64187a@gmail.com> (raw)
In-Reply-To: <1578477603.6726.5.camel@samsung.com>

On 08.01.2020 13:00, Peter Stephenson wrote:
> On Tue, 2020-01-07 at 21:38 +0300, Andrey Butirsky wrote:
>> Hello,
>>   
>> after 25 years of bash, I'm doing my first steps with Zsh.
>>   
>> I'm trying to reproduce main bash key bindings in Zsh, so I started with:
>>   
>> autoload -U select-word-style
>> select-word-style bash
>>   
>> But sill, I need to have different word boundaries for some bindings,
>> e.g Ctrl+W should kill space-delimeted word.
>>   
>> What is the best way to achieve that? Can I avoid creating custom widgets?
> The most configurable way is to use the special widget, the same one
> that you've now got bind to the usual backward-kill-word functions, but
> under a different name.  Then you can set a special style for the
> behaviour.  Then you have all the same possibilities as the widget
> functions at your fingertips, without having to redefine any functions.
>
>
> # Create widget backward-kill-space-word, using the generic
> # backward-kill-word widget function.
> zle -N backward-kill-space-word backward-kill-word-match
> # Tell it to use "space" style for words.
> zstyle ':zle:backward-kill-space-word:*' word-style space
> # Bind it.
> bindkey '^W' backward-kill-space-word
>
>
> The zshcontrib manual lists the various styles.
>
> pws
>
Thanks to all for answering!

Actually, the solution with styles is what I came to myself, just used 
aliases instead of creating new widgets (zle -A forward-word 
space-forward-word).
But binding with dot-prefixed widget names seem the most compact 
solution for me: "bindkey '^w' .backward-kill-word", thanks!

Still, both solutions do not seem very obvious, at least for new user.
So maybe we should emphasize it in the documentation?
I think a few extra examples in section introducing 'select-word-style' 
command would be enough.


  reply	other threads:[~2020-01-08 21:57 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20200107184011eucas1p241073778b2cdd5bf7e94b43851273d49@eucas1p2.samsung.com>
2020-01-07 18:38 ` Andrey Butirsky
2020-01-08  2:26   ` Sebastian Gniazdowski
2020-01-08  2:37     ` Andrey Butirsky
2020-01-08  4:26       ` dana
2020-01-08  9:06       ` Mikael Magnusson
2020-01-08 10:00   ` Peter Stephenson
2020-01-08 21:55     ` Andrey Butirsky [this message]
2020-01-08 22:03       ` Roman Perepelitsa
2020-01-08 22:23         ` Daniel Shahaf
2020-01-09  0:05           ` Andrey Butirsky
2020-01-09  8:45             ` Roman Perepelitsa
2020-01-09  9:27               ` Andrey
2020-01-09 10:44                 ` Roman Perepelitsa
2020-01-09 11:03           ` Roman Perepelitsa
2020-01-10 17:06             ` Daniel Shahaf
2020-01-10 17:35               ` Roman Perepelitsa
2020-01-10 18:09                 ` z-sy-h and z-asug: zle-line-pre-redraw, POSTDISPLAY, coexistence (was: Re: emulate bash key bindings) Daniel Shahaf
2020-01-10 18:14                   ` Roman Perepelitsa
2020-01-10 18:29                     ` Daniel Shahaf
2020-01-10 18:43                       ` Roman Perepelitsa
2020-01-10 19:14                         ` Daniel Shahaf
2020-01-10 22:42                         ` Sebastian Gniazdowski
2020-01-10 22:54                           ` Roman Perepelitsa
2020-01-10 23:46                             ` Sebastian Gniazdowski
2020-01-11 14:30                               ` Roman Perepelitsa
2020-01-12  2:42                                 ` Sebastian Gniazdowski
2020-01-12  2:47                                   ` Sebastian Gniazdowski
2020-01-09 14:18     ` emulate bash key bindings Andrey Butirsky
2020-01-09 14:29       ` Peter Stephenson
2020-01-10  0:46         ` Andrey Butirsky
2020-01-10  9:51           ` Peter Stephenson
2020-01-10 10:58             ` Peter Stephenson
2020-01-10 11:07               ` Peter Stephenson
2020-01-10 11:47               ` Mikael Magnusson
2020-01-10 14:00               ` Andrey Butirsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3e056cff-f690-f416-d8b6-89059c64187a@gmail.com \
    --to=butirsky@gmail.com \
    --cc=zsh-users@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).