From 833a5d16a21aac58367c2cedbc7a34f321183e76 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Fri, 12 Jun 2020 23:38:33 -0400 Subject: vim-patch:8.2.0963: number increment/decrement does not work with 'virtualedit' Problem: Number increment/decrement does not work with 'virtualedit'. Solution: Handle coladd changing. (Christian Brabandt, closes vim/vim#6240, closes vim/vim#923) https://github.com/vim/vim/commit/6c6be9e88d72a60ee279ccad73d018c534b71d66 --- src/nvim/testdir/test_increment.vim | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'src/nvim/testdir/test_increment.vim') diff --git a/src/nvim/testdir/test_increment.vim b/src/nvim/testdir/test_increment.vim index ab11d943d9..f81f8edbde 100644 --- a/src/nvim/testdir/test_increment.vim +++ b/src/nvim/testdir/test_increment.vim @@ -779,4 +779,40 @@ func Test_increment_empty_line() bwipe! endfunc +func Test_normal_increment_with_virtualedit() + set virtualedit=all + + call setline(1, ["\1"]) + exec "norm! 0\" + call assert_equal("\2", getline(1)) + call assert_equal([0, 1, 2, 0], getpos('.')) + + call setline(1, ["\1"]) + exec "norm! 0l\" + call assert_equal("\2", getline(1)) + call assert_equal([0, 1, 2, 0], getpos('.')) + + call setline(1, ["\1"]) + exec "norm! 07l\" + call assert_equal("\2", getline(1)) + call assert_equal([0, 1, 2, 0], getpos('.')) + + call setline(1, ["\1"]) + exec "norm! 0w\" + call assert_equal("\2", getline(1)) + call assert_equal([0, 1, 2, 0], getpos('.')) + + call setline(1, ["\1"]) + exec "norm! 0wl\" + call assert_equal("\1", getline(1)) + call assert_equal([0, 1, 3, 0], getpos('.')) + + call setline(1, ["\1"]) + exec "norm! 0w30l\" + call assert_equal("\1", getline(1)) + call assert_equal([0, 1, 3, 29], getpos('.')) + + set virtualedit& +endfunc + " vim: shiftwidth=2 sts=2 expandtab -- cgit