diff options
Diffstat (limited to 'Src/Zle/zle_keymap.c')
| -rw-r--r-- | Src/Zle/zle_keymap.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Src/Zle/zle_keymap.c b/Src/Zle/zle_keymap.c index 95a60bcc2..ea80f9e3c 100644 --- a/Src/Zle/zle_keymap.c +++ b/Src/Zle/zle_keymap.c @@ -1623,8 +1623,13 @@ getkeymapcmd(Keymap km, Thingy *funcp, char **strp) /* can be patient with vi commands that need a motion operator: * * they wait till a key is pressed for the movement anyway */ - timeout = !(!virangeflag && !region_active && f && f->widget && - f->widget->flags & ZLE_VIOPER); + if (!(timeout = !(!virangeflag && !region_active && f && f->widget && + f->widget->flags & ZLE_VIOPER))) { + int nochg = vichgflag; + vichgflag = 2; + cursor_form(); + vichgflag = nochg; + } #ifdef MULTIBYTE_SUPPORT if ((f == Th(z_selfinsert) || f == Th(z_selfinsertunmeta)) && !lastchar_wide_valid && !ispfx) { |
