diff options
| author | Shougo Matsushita <Shougo.Matsu@gmail.com> | 2022-01-21 09:36:26 +0900 |
|---|---|---|
| committer | Shougo Matsushita <Shougo.Matsu@gmail.com> | 2022-01-22 11:57:06 +0900 |
| commit | d7ab4e819a89c12b74772217e725c640858a18c6 (patch) | |
| tree | fbbc990be752cee4b482c31057dc29897812a9b3 /src/nvim/testdir | |
| parent | 431915fe6af4e176a84a60c95ad7aa9d36b71e50 (diff) | |
| download | rneovim-d7ab4e819a89c12b74772217e725c640858a18c6.tar.gz rneovim-d7ab4e819a89c12b74772217e725c640858a18c6.tar.bz2 rneovim-d7ab4e819a89c12b74772217e725c640858a18c6.zip | |
vim-patch:8.2.4160: cannot change the register used for Select mode delete
Problem: Cannot change the register used for Select mode delete.
Solution: Make CTRL-R set the register to be used when deleting text for
Select mode. (Shougo Matsushita, closes vim/vim#9531)
https://github.com/vim/vim/commit/4ede01f18884961f2e008880b4964e5d61ea5c36
Diffstat (limited to 'src/nvim/testdir')
| -rw-r--r-- | src/nvim/testdir/test_selectmode.vim | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_selectmode.vim b/src/nvim/testdir/test_selectmode.vim new file mode 100644 index 0000000000..b483841060 --- /dev/null +++ b/src/nvim/testdir/test_selectmode.vim @@ -0,0 +1,57 @@ +" Test for Select-mode + +source shared.vim + +" Test for selecting a register with CTRL-R +func Test_selectmode_register() + new + + " Default behavior: use unnamed register + call setline(1, 'foo') + call setreg('"', 'bar') + call setreg('a', 'baz') + exe ":norm! v\<c-g>a" + call assert_equal(getline('.'), 'aoo') + call assert_equal('f', getreg('"')) + call assert_equal('baz', getreg('a')) + + " Use the black hole register + call setline(1, 'foo') + call setreg('"', 'bar') + call setreg('a', 'baz') + exe ":norm! v\<c-g>\<c-r>_a" + call assert_equal(getline('.'), 'aoo') + call assert_equal('bar', getreg('"')) + call assert_equal('baz', getreg('a')) + + " Invalid register: use unnamed register + call setline(1, 'foo') + call setreg('"', 'bar') + call setreg('a', 'baz') + exe ":norm! v\<c-g>\<c-r>?a" + call assert_equal(getline('.'), 'aoo') + call assert_equal('f', getreg('"')) + call assert_equal('baz', getreg('a')) + + " Use unnamed register + call setline(1, 'foo') + call setreg('"', 'bar') + call setreg('a', 'baz') + exe ":norm! v\<c-g>\<c-r>\"a" + call assert_equal(getline('.'), 'aoo') + call assert_equal('f', getreg('"')) + call assert_equal('baz', getreg('a')) + + " use specicifed register, unnamed register is also written + call setline(1, 'foo') + call setreg('"', 'bar') + call setreg('a', 'baz') + exe ":norm! v\<c-g>\<c-r>aa" + call assert_equal(getline('.'), 'aoo') + call assert_equal('f', getreg('"')) + call assert_equal('f', getreg('a')) + + bw! +endfunc + +" vim: shiftwidth=2 sts=2 expandtab |