Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: emulate bash key bindings
On 1/8/20, Andrey Butirsky <butirsky@xxxxxxxxx> wrote:
> On 08.01.2020 05:26, Sebastian Gniazdowski wrote:
>> On Tue, 7 Jan 2020 at 19:40, Andrey Butirsky <butirsky@xxxxxxxxx> 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 widget is backward-kill-word. I'd also suggest utilizing the
>> ability of bindkey to process multiple arguments at once – it'll spare
>> some space:
>>
>> bindkey "^A" beginning-of-line "^E" end-of-line
>> bindkey "^?" backward-delete-char "^H" backward-delete-char
>> bindkey "^W" backward-kill-word "\e[1~" beginning-of-line
>> bindkey "\e[7~" beginning-of-line "\e[H" beginning-of-line
>> bindkey "\e[4~" end-of-line "\e[8~" end-of-line
>> bindkey "\e[F" end-of-line "\e[3~" delete-char
>> bindkey "^J" self-insert "^M" accept-line
>> bindkey "^R" history-incremental-search-backward
>>
> Thanks, but 'backward-kill-word' widget changes it's behavior after
> issuing "select-word-style bash" command - it starts kill bash-like
> words (alphabet and numeric symbols). So I need bindings for both type
> of words, bash-like and space-delimited.
You can bind those you want to be space-delimited to widgets with a .
in front, it will override the custom widget function
select-word-style sets up.
bindkey "\e[4~" end-of-line "\e[8~" .end-of-line
--
Mikael Magnusson
Messages sorted by:
Reverse Date,
Date,
Thread,
Author