mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:7.4.210
Problem: Visual block mode plus virtual edit doesn't work well with tabs. (Liang Li) Solution: Take coladd into account. (Christian Brabandt) https://code.google.com/p/vim/source/detail?r=420fd9cb86d51a92c4307a746557e81914c6d6c4
This commit is contained in:
parent
421c388bb7
commit
965f587061
@ -2132,13 +2132,16 @@ void op_insert(oparg_T *oap, long count1)
|
||||
* to adjust the block for that. */
|
||||
if (oap->start.lnum == curbuf->b_op_start_orig.lnum && !bd.is_MAX) {
|
||||
if (oap->op_type == OP_INSERT
|
||||
&& oap->start.col != curbuf->b_op_start_orig.col) {
|
||||
&& oap->start.col + oap->start.coladd
|
||||
!= curbuf->b_op_start_orig.col + curbuf->b_op_start_orig.coladd) {
|
||||
oap->start.col = curbuf->b_op_start_orig.col;
|
||||
pre_textlen -= getviscol2(oap->start.col, oap->start.coladd)
|
||||
- oap->start_vcol;
|
||||
oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd);
|
||||
} else if (oap->op_type == OP_APPEND
|
||||
&& oap->end.col >= curbuf->b_op_start_orig.col) {
|
||||
&& oap->end.col + oap->end.coladd
|
||||
>= curbuf->b_op_start_orig.col
|
||||
+ curbuf->b_op_start_orig.coladd) {
|
||||
oap->start.col = curbuf->b_op_start_orig.col;
|
||||
/* reset pre_textlen to the value of OP_INSERT */
|
||||
pre_textlen += bd.textlen;
|
||||
|
@ -35,6 +35,12 @@ G$khhhhhkkcmno
|
||||
/^C23$/
|
||||
:exe ":norm! l\<C-V>j$hhAab\<Esc>"
|
||||
:.,/^$/w >> test.out
|
||||
:" Test for Visual block insert when virtualedit=all
|
||||
:set ve=all
|
||||
:/\t\tline
|
||||
:exe ":norm! 07l\<C-V>jjIx\<Esc>"
|
||||
:set ve=
|
||||
:.,/^$/w >> test.out
|
||||
:" gUe must uppercase a whole word, also when ß changes to SS
|
||||
Gothe youtußeuu endYpk0wgUe
|
||||
:" gUfx must uppercase until x, inclusive.
|
||||
@ -62,6 +68,10 @@ G3o987652k02l2jr
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
||||
line1
|
||||
line2
|
||||
line3
|
||||
|
||||
aaaaaa
|
||||
bbbbbb
|
||||
cccccc
|
||||
|
Binary file not shown.
@ -251,7 +251,7 @@ static int included_patches[] = {
|
||||
//213,
|
||||
//212,
|
||||
//211,
|
||||
//210,
|
||||
210,
|
||||
209,
|
||||
//208,
|
||||
207,
|
||||
|
Loading…
Reference in New Issue
Block a user