diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/normal.c | 3 | ||||
-rw-r--r-- | src/nvim/screen.c | 1 | ||||
-rw-r--r-- | src/nvim/window.c | 1 |
3 files changed, 5 insertions, 0 deletions
diff --git a/src/nvim/normal.c b/src/nvim/normal.c index e058be9135..8aafe6671d 100644 --- a/src/nvim/normal.c +++ b/src/nvim/normal.c @@ -1132,6 +1132,7 @@ static int normal_execute(VimState *state, int key) if (s->need_flushbuf) { ui_flush(); } + if (s->ca.cmdchar != K_IGNORE && s->ca.cmdchar != K_EVENT) { did_cursorhold = false; } @@ -3513,6 +3514,7 @@ static bool nv_z_get_count(cmdarg_T *cap, int *nchar_arg) no_mapping--; allow_keys--; (void)add_to_showcmd(nchar); + if (nchar == K_DEL || nchar == K_KDEL) { n /= 10; } else if (ascii_isdigit(nchar)) { @@ -3553,6 +3555,7 @@ static int nv_zg_zw(cmdarg_T *cap, int nchar) no_mapping--; allow_keys--; (void)add_to_showcmd(nchar); + if (vim_strchr("gGwW", nchar) == NULL) { clearopbeep(cap->oap); return OK; diff --git a/src/nvim/screen.c b/src/nvim/screen.c index bc440441e1..90011eb2c7 100644 --- a/src/nvim/screen.c +++ b/src/nvim/screen.c @@ -860,6 +860,7 @@ int showmode(void) if (redrawing() && last->w_status_height == 0 && global_stl_height() == 0) { win_redr_ruler(last, true); } + redraw_cmdline = false; redraw_mode = false; clear_cmdline = false; diff --git a/src/nvim/window.c b/src/nvim/window.c index ed64062a55..002d95ac2a 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -554,6 +554,7 @@ wingotofile: no_mapping--; allow_keys--; (void)add_to_showcmd(xchar); + switch (xchar) { case '}': xchar = Ctrl_RSB; |