patch 8.2.4881: "P" in Visual mode still changes some registers

Problem:    "P" in Visual mode still changes some registers.
Solution:   Make "P" in Visual mode not change any register. (Shougo
            Matsushita, closes #10349)
This commit is contained in:
Shougo Matsushita
2022-05-06 11:45:09 +01:00
committed by Bram Moolenaar
parent 434725cc4c
commit 509142ab7a
6 changed files with 83 additions and 52 deletions

View File

@ -1177,14 +1177,15 @@ register. With blockwise selection it also depends on the size of the block
and whether the corners are on an existing character. (Implementation detail:
it actually works by first putting the register after the selection and then
deleting the selection.)
With 'p' the previously selected text is put in the unnamed register. This is
useful if you want to put that text somewhere else. But you cannot repeat the
same change.
With 'P' the unnamed register is not changed, you can repeat the same change.
But the deleted text cannot be used. If you do need it you can use 'p' with
another register. E.g., yank the text to copy, Visually select the text to
replace and use "0p . You can repeat this as many times as you like, and the
unnamed register will be changed each time.
With |p| the previously selected text is put in the unnamed register (and
possibly the selection and/or clipboard). This is useful if you want to put
that text somewhere else. But you cannot repeat the same change.
With |P| the unnamed register is not changed (and neither the selection or
clipboard), you can repeat the same change. But the deleted text cannot be
used. If you do need it you can use |p| with another register. E.g., yank
the text to copy, Visually select the text to replace and use "0p . You can
repeat this as many times as you like, and the unnamed register will be
changed each time.
When you use a blockwise Visual mode command and yank only a single line into
a register, a paste on a visual selected area will paste that single line on