From 5ef1cb5c2e77e3df70d93ade9afb54a3e989a3ee Mon Sep 17 00:00:00 2001 From: watiko Date: Thu, 14 Jan 2016 18:49:35 +0900 Subject: vim-patch:7.4.765 Problem: CTRL-A and CTRL-X in Visual mode do not always work well. Solution: Improvements for increment and decrement. (Christian Brabandt) https://github.com/vim/vim/commit/9bb1930af908338b68588e988be9601ad144af07 --- src/nvim/normal.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/nvim/normal.c') diff --git a/src/nvim/normal.c b/src/nvim/normal.c index 684467d26a..d831679b64 100644 --- a/src/nvim/normal.c +++ b/src/nvim/normal.c @@ -3506,7 +3506,21 @@ static void nv_addsub(cmdarg_T *cap) bool visual = VIsual_active; if (cap->oap->op_type == OP_NOP && do_addsub((int)cap->cmdchar, cap->count1, cap->arg) == OK) { - prep_redo_cmd(cap); + if (visual) { + ResetRedobuff(); + AppendCharToRedobuff(VIsual_mode); + if (VIsual_mode == 'V') { + AppendNumberToRedobuff(cap->oap->line_count); + AppendCharToRedobuff('j'); + } + AppendNumberToRedobuff(cap->count1); + if (cap->nchar != NUL) { + AppendCharToRedobuff(cap->nchar); + } + AppendCharToRedobuff(cap->cmdchar); + } else { + prep_redo_cmd(cap); + } } else { clearopbeep(cap->oap); } -- cgit