Merge pull request #25249 from neovim/backport-25248-to-release-0.9

[Backport release-0.9] vim-patch:9.0.1915: r_CTRL-C works differently in visual mode
This commit is contained in:
zeertzjq 2023-09-20 06:54:46 +08:00 committed by GitHub
commit 3f796c5410
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 17 additions and 1 deletions

View File

@ -196,6 +196,7 @@ gR Enter Virtual Replace mode: Each character you type
*v_r*
{Visual}r{char} Replace all selected characters by {char}.
CTRL-C will be inserted literally.
*v_C*
{Visual}["x]C Delete the highlighted lines [into register x] and

View File

@ -169,6 +169,7 @@ If you want to highlight exactly the same area as the last time, you can use
CTRL-C In Visual mode: Stop Visual mode. When insert mode is
pending (the mode message shows
"-- (insert) VISUAL --"), it is also stopped.
On MS-Windows, you may need to press CTRL-Break.
==============================================================================
3. Changing the Visual area *visual-change*

View File

@ -4529,7 +4529,7 @@ static void nv_replace(cmdarg_T *cap)
// Visual mode "r"
if (VIsual_active) {
if (got_int) {
reset_VIsual();
got_int = false;
}
if (had_ctrl_v) {
// Use a special (negative) number to make a difference between a

View File

@ -1575,4 +1575,18 @@ func Test_visual_hl_with_showbreak()
call StopVimInTerminal(buf)
endfunc
func Test_Visual_r_CTRL_C()
new
" visual r_cmd
call setline(1, [' '])
call feedkeys("\<c-v>$r\<c-c>", 'tx')
call assert_equal([''], getline(1, 1))
" visual gr_cmd
call setline(1, [' '])
call feedkeys("\<c-v>$gr\<c-c>", 'tx')
call assert_equal([''], getline(1, 1))
bw!
endfu
" vim: shiftwidth=2 sts=2 expandtab