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.
next prev parent 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).