vim-patch:7.4.849

Problem:    Moving the cursor in Insert mode starts new undo sequence.
Solution:   Add CTRL-G U to keep the undo sequence for the following
            cursor movement command. (Christian Brabandt)

8b5f65a527

Closes #3492
This commit is contained in:
Justin M. Keyes
2015-09-07 22:27:21 -04:00
parent 1ca5646bb5
commit 0f9dea2a0e
4 changed files with 112 additions and 21 deletions

View File

@@ -5,7 +5,7 @@ local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
local execute, expect = helpers.execute, helpers.expect
describe('mapping', function()
setup(clear)
before_each(clear)
it('is working', function()
insert([[
@@ -44,4 +44,30 @@ describe('mapping', function()
+
+]])
end)
it('i_CTRL-G_U', function()
-- <c-g>U<cursor> works only within a single line
execute('imapclear')
execute('imap ( ()<c-g>U<left>')
feed('G2o<esc>ki<cr>Test1: text with a (here some more text<esc>k.')
-- test undo
feed('G2o<esc>ki<cr>Test2: text wit a (here some more text [und undo]<c-g>u<esc>k.u')
execute('imapclear')
execute('set whichwrap=<,>,[,]')
feed('G3o<esc>2k')
execute([[:exe ":norm! iTest3: text with a (parenthesis here\<C-G>U\<Right>new line here\<esc>\<up>\<up>."]])
expect([[
Test1: text with a (here some more text)
Test1: text with a (here some more text)
Test2: text wit a (here some more text [und undo])
new line here
Test3: text with a (parenthesis here
new line here
]])
end)
end)