aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-02-09 14:21:04 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-02-09 14:21:04 +0800
commitd9cb3fba9228aed5109a8e6069c50e4f265be9f3 (patch)
tree15a6eac7071397796be87916e907b0997b4b700b /src/nvim/testdir
parent07c97fa02d2f5be0e643f78428d56413895096cd (diff)
downloadrneovim-d9cb3fba9228aed5109a8e6069c50e4f265be9f3.tar.gz
rneovim-d9cb3fba9228aed5109a8e6069c50e4f265be9f3.tar.bz2
rneovim-d9cb3fba9228aed5109a8e6069c50e4f265be9f3.zip
vim-patch:8.2.4242: put in Visual mode cannot be repeated
Problem: Put in Visual mode cannot be repeated. Solution: Use "P" to put without yanking the deleted text into the unnamed register. (Shougo Matsushita, closes vim/vim#9591) https://github.com/vim/vim/commit/fb55207ed17918c8a2a6cadf5ad9d5fcf686a7ab Cherry-pick get_y_previous() and set_y_previous() from patch 8.1.1736. Nvim has removed y_current, so code related to it is N/A.
Diffstat (limited to 'src/nvim/testdir')
-rw-r--r--src/nvim/testdir/test_visual.vim24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_visual.vim b/src/nvim/testdir/test_visual.vim
index 76274fb038..e931e06175 100644
--- a/src/nvim/testdir/test_visual.vim
+++ b/src/nvim/testdir/test_visual.vim
@@ -1184,8 +1184,32 @@ func Test_visual_undo_deletes_last_line()
exe "normal ggvjfxO"
undo
normal gNU
+
bwipe!
endfunc
+func Test_visual_paste()
+ new
+
+ " v_p overwrites unnamed register.
+ call setline(1, ['xxxx'])
+ call setreg('"', 'foo')
+ call setreg('-', 'bar')
+ normal 1Gvp
+ call assert_equal(@", 'x')
+ call assert_equal(@-, 'x')
+
+ if has('clipboard')
+ " v_P does not overwrite unnamed register.
+ call setline(1, ['xxxx'])
+ call setreg('"', 'foo')
+ call setreg('-', 'bar')
+ normal 1GvP
+ call assert_equal(@", 'foo')
+ call assert_equal(@-, 'x')
+ endif
+
+ bwipe!
+endfunc
" vim: shiftwidth=2 sts=2 expandtab