mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:7.4.798
Problem: Repeating a change in Visual mode does not work as expected.
(Urtica Dioica)
Solution: Make redo in Visual mode work better. (Christian Brabandt)
31b259bf95
This commit is contained in:
parent
5308585adf
commit
ffd143be82
@ -7798,20 +7798,23 @@ static void get_op_vcol(
|
||||
}
|
||||
|
||||
getvvcol(curwin, &(oap->start), &oap->start_vcol, NULL, &oap->end_vcol);
|
||||
getvvcol(curwin, &(oap->end), &start, NULL, &end);
|
||||
if (!redo_VIsual_busy) {
|
||||
getvvcol(curwin, &(oap->end), &start, NULL, &end);
|
||||
|
||||
if (start < oap->start_vcol) {
|
||||
oap->start_vcol = start;
|
||||
}
|
||||
if (end > oap->end_vcol) {
|
||||
if (initial && *p_sel == 'e'
|
||||
&& start >= 1
|
||||
&& start - 1 >= oap->end_vcol) {
|
||||
oap->end_vcol = start - 1;
|
||||
} else {
|
||||
oap->end_vcol = end;
|
||||
if (start < oap->start_vcol) {
|
||||
oap->start_vcol = start;
|
||||
}
|
||||
if (end > oap->end_vcol) {
|
||||
if (initial && *p_sel == 'e'
|
||||
&& start >= 1
|
||||
&& start - 1 >= oap->end_vcol) {
|
||||
oap->end_vcol = start - 1;
|
||||
} else {
|
||||
oap->end_vcol = end;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// if '$' was used, get oap->end_vcol from longest line
|
||||
if (curwin->w_curswant == MAXCOL) {
|
||||
curwin->w_cursor.col = MAXCOL;
|
||||
|
@ -75,6 +75,12 @@ Golong line: 40afoobar aTARGET at end
|
||||
:let g:test ="Test 8: set linebreak with visual char mode and changing block"
|
||||
:$put =g:test
|
||||
Go1111-1111-1111-11-1111-1111-11110f-lv3lc2222bgj.
|
||||
:let g:test ="Test 9: using redo after block visual mode"
|
||||
:$put =g:test
|
||||
Go
|
||||
aaa
|
||||
aaa
|
||||
a2k2j~e.
|
||||
:%w! test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
@ -41,3 +41,8 @@ Test 7: set linebreak with visual block mode and v_b_A
|
||||
long line: foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar foobar TARGETx at end
|
||||
Test 8: set linebreak with visual char mode and changing block
|
||||
1111-2222-1111-11-1111-2222-1111
|
||||
Test 9: using redo after block visual mode
|
||||
|
||||
AaA
|
||||
AaA
|
||||
A
|
||||
|
@ -490,7 +490,7 @@ static int included_patches[] = {
|
||||
// 801,
|
||||
// 800,
|
||||
799,
|
||||
// 798,
|
||||
798,
|
||||
// 797,
|
||||
// 796 NA
|
||||
795,
|
||||
|
Loading…
Reference in New Issue
Block a user