diff options
author | Bram Moolenaar <Bram@vim.org> | 2015-07-03 12:44:07 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2015-07-03 12:44:07 +0200 |
commit | 9bb1930af908338b68588e988be9601ad144af07 (patch) | |
tree | 8af685485a0861282fe3229fa48c812cff8d290e /src/normal.c | |
parent | 6a57cce04801d3e8fe30d0dcd31f9325b38de2fe (diff) | |
download | vim-git-9bb1930af908338b68588e988be9601ad144af07.tar.gz |
patch 7.4.765v7.4.765
Problem: CTRL-A and CTRL-X in Visual mode do not always work well.
Solution: Improvements for increment and decrement. (Christian Brabandt)
Diffstat (limited to 'src/normal.c')
-rw-r--r-- | src/normal.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/normal.c b/src/normal.c index 8d8be9b0c..a38538fcd 100644 --- a/src/normal.c +++ b/src/normal.c @@ -4204,7 +4204,24 @@ nv_addsub(cap) int 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); if (visual) |