Subject: Re: No incremental undo in vi mode
From: Michael Giuffrida <[email-masked]>
To: Bart Schaefer <[email-masked]>, Zsh hackers list <[email-masked]>
Date: Sat, 27 Feb 2016 21:33:15 +0000
List-Id: Zsh Workers List <zsh-workers.zsh.org>

Explicitly binding "undo" to a key didn't help.

However, I've gone ahead and bisected this; looks like it was introduced
between 5.0.2 and 5.0.3, and fixed in 5.0.5-dev-1.

Introduced in: 0ed3c5c (31765: If zle starts in viins mark as insertion.
    This allows undo to work on everything entered.)
Fixed in: a8c4ed6 (32314: merge undo events corresponding to vi change in
the vi-cmd-mode widget so undo from insert mode is useful again)

Guess I'll upgrade. Thanks!

On Sat, Feb 27, 2016 at 8:47 AM Bart Schaefer <[email-masked]>
wrote:

> On Fri, Feb 26, 2016 at 10:35 PM, Michael Giuffrida
> <[email-masked]> wrote:
> > When using vi bindings, my understanding is that `C-_` should trigger
> > readline's undo behavior, as should `u` when in command mode.[1]
>
> Zsh does not use readline.  It has its own editor with its own set of
> key bindings.
>
> > In zsh in vi mode, it just clears the whole line. So it's not useful for
> > undoing the effect of glob expansion or other tab completion.
>
> Are you sure you have C-_ bound to what you think you do?  With
>
> bindkey -v
> bindkey '\C-_' undo
>
> I get the behavior you expect rather than the behavior you report.
>
> What does
>
> bindkey '\C-_'
>
> output for you?
>