annotate src/testdir/test_blockedit.vim @ 34686:83875247fbc0 v9.1.0224

patch 9.1.0224: cursor may move too many lines over "right" & "below" virt text Commit: https://github.com/vim/vim/commit/515f734e687f28f7199b2a8042197624d9f3ec15 Author: Dylan Thacker-Smith <dylan.ah.smith@gmail.com> Date: Thu Mar 28 12:01:14 2024 +0100 patch 9.1.0224: cursor may move too many lines over "right" & "below" virt text Problem: If a line has "right" & "below" virtual text properties, where the "below" property may be stored first due to lack of ordering between them, then the line height is calculated to be 1 more and causes the cursor to far over the line. Solution: Remove some unnecessary setting of a `next_right_goes_below = TRUE` flag for "below" and "above" text properties. (Dylan Thacker-Smith) I modified a regression test I recently added to cover this case, leveraging the fact that "after", "right" & "below" text properties are being stored in the reverse of the order they are added in. The previous version of this regression test was crafted to workaround this issue so it can be addressed by this separate patch. closes: #14317 Signed-off-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 28 Mar 2024 12:15:03 +0100
parents dbec60b8c253
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13620
4faf77b96432 patch 8.0.1682: auto indenting breaks inserting a block
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Test for block inserting
4faf77b96432 patch 8.0.1682: auto indenting breaks inserting a block
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
4faf77b96432 patch 8.0.1682: auto indenting breaks inserting a block
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
3 func Test_blockinsert_indent()
4faf77b96432 patch 8.0.1682: auto indenting breaks inserting a block
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
4 new
4faf77b96432 patch 8.0.1682: auto indenting breaks inserting a block
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
5 filetype plugin indent on
4faf77b96432 patch 8.0.1682: auto indenting breaks inserting a block
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
6 setlocal sw=2 et ft=vim
4faf77b96432 patch 8.0.1682: auto indenting breaks inserting a block
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
7 call setline(1, ['let a=[', ' ''eins'',', ' ''zwei'',', ' ''drei'']'])
4faf77b96432 patch 8.0.1682: auto indenting breaks inserting a block
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8 call cursor(2, 3)
4faf77b96432 patch 8.0.1682: auto indenting breaks inserting a block
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 exe "norm! \<c-v>2jI\\ \<esc>"
4faf77b96432 patch 8.0.1682: auto indenting breaks inserting a block
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10 call assert_equal(['let a=[', ' \ ''eins'',', ' \ ''zwei'',', ' \ ''drei'']'],
4faf77b96432 patch 8.0.1682: auto indenting breaks inserting a block
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11 \ getline(1,'$'))
4faf77b96432 patch 8.0.1682: auto indenting breaks inserting a block
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
12 " reset to sane state
4faf77b96432 patch 8.0.1682: auto indenting breaks inserting a block
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13 filetype off
4faf77b96432 patch 8.0.1682: auto indenting breaks inserting a block
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
14 bwipe!
4faf77b96432 patch 8.0.1682: auto indenting breaks inserting a block
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15 endfunc
4faf77b96432 patch 8.0.1682: auto indenting breaks inserting a block
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
16
26307
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
17 func Test_blockinsert_autoindent()
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
18 new
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
19 let lines =<< trim END
30554
eaa79e688fb8 patch 9.0.0612: blockedit test passes with wrong result
Bram Moolenaar <Bram@vim.org>
parents: 30548
diff changeset
20 vim9script
26307
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
21 var d = {
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
22 a: () => 0,
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
23 b: () => 0,
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
24 c: () => 0,
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
25 }
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
26 END
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
27 call setline(1, lines)
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
28 filetype plugin indent on
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
29 setlocal sw=2 et ft=vim
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
30 setlocal indentkeys+=:
30554
eaa79e688fb8 patch 9.0.0612: blockedit test passes with wrong result
Bram Moolenaar <Bram@vim.org>
parents: 30548
diff changeset
31 exe "norm! 3Gf)\<c-v>2jA: asdf\<esc>"
26307
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
32 let expected =<< trim END
30554
eaa79e688fb8 patch 9.0.0612: blockedit test passes with wrong result
Bram Moolenaar <Bram@vim.org>
parents: 30548
diff changeset
33 vim9script
26307
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
34 var d = {
30554
eaa79e688fb8 patch 9.0.0612: blockedit test passes with wrong result
Bram Moolenaar <Bram@vim.org>
parents: 30548
diff changeset
35 a: (): asdf => 0,
26307
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
36 b: (): asdf => 0,
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
37 c: (): asdf => 0,
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
38 }
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
39 END
30554
eaa79e688fb8 patch 9.0.0612: blockedit test passes with wrong result
Bram Moolenaar <Bram@vim.org>
parents: 30548
diff changeset
40 call assert_equal(expected, getline(1, 6))
26307
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
41
26313
74e706afae3f patch 8.2.3687: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 26307
diff changeset
42 " insert on the next column should do exactly the same
74e706afae3f patch 8.2.3687: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 26307
diff changeset
43 :%dele
74e706afae3f patch 8.2.3687: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 26307
diff changeset
44 call setline(1, lines)
30554
eaa79e688fb8 patch 9.0.0612: blockedit test passes with wrong result
Bram Moolenaar <Bram@vim.org>
parents: 30548
diff changeset
45 exe "norm! 3Gf)l\<c-v>2jI: asdf\<esc>"
eaa79e688fb8 patch 9.0.0612: blockedit test passes with wrong result
Bram Moolenaar <Bram@vim.org>
parents: 30548
diff changeset
46 call assert_equal(expected, getline(1, 6))
26313
74e706afae3f patch 8.2.3687: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 26307
diff changeset
47
74e706afae3f patch 8.2.3687: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 26307
diff changeset
48 :%dele
74e706afae3f patch 8.2.3687: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 26307
diff changeset
49 call setline(1, lines)
74e706afae3f patch 8.2.3687: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 26307
diff changeset
50 setlocal sw=8 noet
30554
eaa79e688fb8 patch 9.0.0612: blockedit test passes with wrong result
Bram Moolenaar <Bram@vim.org>
parents: 30548
diff changeset
51 exe "norm! 3Gf)\<c-v>2jA: asdf\<esc>"
26313
74e706afae3f patch 8.2.3687: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 26307
diff changeset
52 let expected =<< trim END
30554
eaa79e688fb8 patch 9.0.0612: blockedit test passes with wrong result
Bram Moolenaar <Bram@vim.org>
parents: 30548
diff changeset
53 vim9script
26313
74e706afae3f patch 8.2.3687: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 26307
diff changeset
54 var d = {
31849
dbec60b8c253 patch 9.0.1257: code style is not check in test scripts
Bram Moolenaar <Bram@vim.org>
parents: 30554
diff changeset
55 a: (): asdf => 0,
26313
74e706afae3f patch 8.2.3687: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 26307
diff changeset
56 b: (): asdf => 0,
74e706afae3f patch 8.2.3687: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 26307
diff changeset
57 c: (): asdf => 0,
74e706afae3f patch 8.2.3687: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 26307
diff changeset
58 }
74e706afae3f patch 8.2.3687: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 26307
diff changeset
59 END
30554
eaa79e688fb8 patch 9.0.0612: blockedit test passes with wrong result
Bram Moolenaar <Bram@vim.org>
parents: 30548
diff changeset
60 call assert_equal(expected, getline(1, 6))
26313
74e706afae3f patch 8.2.3687: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 26307
diff changeset
61
74e706afae3f patch 8.2.3687: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 26307
diff changeset
62 " insert on the next column should do exactly the same
74e706afae3f patch 8.2.3687: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 26307
diff changeset
63 :%dele
74e706afae3f patch 8.2.3687: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 26307
diff changeset
64 call setline(1, lines)
30554
eaa79e688fb8 patch 9.0.0612: blockedit test passes with wrong result
Bram Moolenaar <Bram@vim.org>
parents: 30548
diff changeset
65 exe "norm! 3Gf)l\<c-v>2jI: asdf\<esc>"
eaa79e688fb8 patch 9.0.0612: blockedit test passes with wrong result
Bram Moolenaar <Bram@vim.org>
parents: 30548
diff changeset
66 call assert_equal(expected, getline(1, 6))
26313
74e706afae3f patch 8.2.3687: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 26307
diff changeset
67
26307
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
68 filetype off
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
69 bwipe!
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
70 endfunc
294736db2561 patch 8.2.3684: blockwise insert does not handle autoindent properly
Bram Moolenaar <Bram@vim.org>
parents: 25072
diff changeset
71
13814
7ed76dcf0d94 patch 8.0.1779: deleting in a block selection causes problems
Christian Brabandt <cb@256bit.org>
parents: 13620
diff changeset
72 func Test_blockinsert_delete()
7ed76dcf0d94 patch 8.0.1779: deleting in a block selection causes problems
Christian Brabandt <cb@256bit.org>
parents: 13620
diff changeset
73 new
7ed76dcf0d94 patch 8.0.1779: deleting in a block selection causes problems
Christian Brabandt <cb@256bit.org>
parents: 13620
diff changeset
74 let _bs = &bs
7ed76dcf0d94 patch 8.0.1779: deleting in a block selection causes problems
Christian Brabandt <cb@256bit.org>
parents: 13620
diff changeset
75 set bs=2
7ed76dcf0d94 patch 8.0.1779: deleting in a block selection causes problems
Christian Brabandt <cb@256bit.org>
parents: 13620
diff changeset
76 call setline(1, ['case Arg is ', ' when Name_Async,', ' when Name_Num_Gangs,', 'end if;'])
7ed76dcf0d94 patch 8.0.1779: deleting in a block selection causes problems
Christian Brabandt <cb@256bit.org>
parents: 13620
diff changeset
77 exe "norm! ggjVj\<c-v>$o$A\<bs>\<esc>"
7ed76dcf0d94 patch 8.0.1779: deleting in a block selection causes problems
Christian Brabandt <cb@256bit.org>
parents: 13620
diff changeset
78 "call feedkeys("Vj\<c-v>$o$A\<bs>\<esc>", 'ti')
7ed76dcf0d94 patch 8.0.1779: deleting in a block selection causes problems
Christian Brabandt <cb@256bit.org>
parents: 13620
diff changeset
79 call assert_equal(["case Arg is ", " when Name_Async", " when Name_Num_Gangs,", "end if;"],
7ed76dcf0d94 patch 8.0.1779: deleting in a block selection causes problems
Christian Brabandt <cb@256bit.org>
parents: 13620
diff changeset
80 \ getline(1,'$'))
7ed76dcf0d94 patch 8.0.1779: deleting in a block selection causes problems
Christian Brabandt <cb@256bit.org>
parents: 13620
diff changeset
81 " reset to sane state
7ed76dcf0d94 patch 8.0.1779: deleting in a block selection causes problems
Christian Brabandt <cb@256bit.org>
parents: 13620
diff changeset
82 let &bs = _bs
7ed76dcf0d94 patch 8.0.1779: deleting in a block selection causes problems
Christian Brabandt <cb@256bit.org>
parents: 13620
diff changeset
83 bwipe!
7ed76dcf0d94 patch 8.0.1779: deleting in a block selection causes problems
Christian Brabandt <cb@256bit.org>
parents: 13620
diff changeset
84 endfunc
13620
4faf77b96432 patch 8.0.1682: auto indenting breaks inserting a block
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
85
25072
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
86 func Test_blockappend_eol_cursor()
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
87 new
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
88 " Test 1 Move 1 char left
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
89 call setline(1, ['aaa', 'bbb', 'ccc'])
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
90 exe "norm! gg$\<c-v>2jA\<left>x\<esc>"
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
91 call assert_equal(['aaxa', 'bbxb', 'ccxc'], getline(1, '$'))
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
92 " Test 2 Move 2 chars left
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
93 sil %d
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
94 call setline(1, ['aaa', 'bbb', 'ccc'])
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
95 exe "norm! gg$\<c-v>2jA\<left>\<left>x\<esc>"
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
96 call assert_equal(['axaa', 'bxbb', 'cxcc'], getline(1, '$'))
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
97 " Test 3 Move 3 chars left (outside of the visual selection)
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
98 sil %d
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
99 call setline(1, ['aaa', 'bbb', 'ccc'])
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
100 exe "norm! ggl$\<c-v>2jA\<left>\<left>\<left>x\<esc>"
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
101 call assert_equal(['xaaa', 'bbb', 'ccc'], getline(1, '$'))
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
102 bw!
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
103 endfunc
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
104
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
105 func Test_blockappend_eol_cursor2()
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
106 new
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
107 " Test 1 Move 1 char left
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
108 call setline(1, ['aaaaa', 'bbb', 'ccccc'])
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
109 exe "norm! gg\<c-v>$2jA\<left>x\<esc>"
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
110 call assert_equal(['aaaaxa', 'bbbx', 'ccccxc'], getline(1, '$'))
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
111 " Test 2 Move 2 chars left
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
112 sil %d
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
113 call setline(1, ['aaaaa', 'bbb', 'ccccc'])
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
114 exe "norm! gg\<c-v>$2jA\<left>\<left>x\<esc>"
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
115 call assert_equal(['aaaxaa', 'bbbx', 'cccxcc'], getline(1, '$'))
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
116 " Test 3 Move 3 chars left (to the beginning of the visual selection)
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
117 sil %d
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
118 call setline(1, ['aaaaa', 'bbb', 'ccccc'])
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
119 exe "norm! gg\<c-v>$2jA\<left>\<left>\<left>x\<esc>"
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
120 call assert_equal(['aaxaaa', 'bbxb', 'ccxccc'], getline(1, '$'))
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
121 " Test 4 Move 3 chars left (outside of the visual selection)
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
122 sil %d
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
123 call setline(1, ['aaaaa', 'bbb', 'ccccc'])
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
124 exe "norm! ggl\<c-v>$2jA\<left>\<left>\<left>x\<esc>"
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
125 call assert_equal(['aaxaaa', 'bbxb', 'ccxccc'], getline(1, '$'))
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
126 " Test 5 Move 4 chars left (outside of the visual selection)
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
127 sil %d
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
128 call setline(1, ['aaaaa', 'bbb', 'ccccc'])
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
129 exe "norm! ggl\<c-v>$2jA\<left>\<left>\<left>\<left>x\<esc>"
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
130 call assert_equal(['axaaaa', 'bxbb', 'cxcccc'], getline(1, '$'))
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
131 bw!
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
132 endfunc
bd46322bea66 patch 8.2.3073: when cursor is move for block append wrong text is inserted
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
133
13620
4faf77b96432 patch 8.0.1682: auto indenting breaks inserting a block
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
134 " vim: shiftwidth=2 sts=2 expandtab