diff options
author | watiko <service@mail.watiko.net> | 2016-01-14 18:49:35 +0900 |
---|---|---|
committer | watiko <service@mail.watiko.net> | 2016-02-01 03:43:36 +0900 |
commit | 5ef1cb5c2e77e3df70d93ade9afb54a3e989a3ee (patch) | |
tree | 065e87ff69e50f7c8030913697374ca0da91d9ff /src/nvim/normal.c | |
parent | 6d1b948b6b98d34b1ca8c62a7bb6d08f85f85491 (diff) | |
download | rneovim-5ef1cb5c2e77e3df70d93ade9afb54a3e989a3ee.tar.gz rneovim-5ef1cb5c2e77e3df70d93ade9afb54a3e989a3ee.tar.bz2 rneovim-5ef1cb5c2e77e3df70d93ade9afb54a3e989a3ee.zip |
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
Diffstat (limited to 'src/nvim/normal.c')
-rw-r--r-- | src/nvim/normal.c | 16 |
1 files changed, 15 insertions, 1 deletions
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); } |