Hi, any update regarding this issue ?
++ Osman 2016-10-09 23:25 GMT+02:00 Osman Koçak <[email protected]>: > Hmmm, I see... > However, I think it should be possible to fix it since the forward search > ('/') don't mess up in such cases. > I also have a "workaround" (in Vimscript) that **seems** to work (I wrote > and tested it quite quickly, so I'm not sure): > function! Select_match() abort > if &selection == 'exclusive' && stridx(&virtualedit, 'onemore') == -1 > return '' > endif > let [l1, c1] = getpos('''<')[1:2] > let [l2, c2] = getpos('''>')[1:2] > let pos = getpos('.') > let l = pos[1] + (l2 - l1) > let c = pos[2] + (c2 - c1) > if l1 != l2 > let c += strwidth(getline(l1)) - strwidth(getline(pos[1])) > endif > execute 'normal ' . l . 'G' . c . '|v' . pos[1] . 'G' . pos[2] . '|' > endfunction > This function should behave as the 'gN' command... > > ++ > Osman > > 2016-10-09 18:01 GMT+02:00 Christian Brabandt <[email protected]>: > >> On So, 09 Okt 2016, Osman Koçak wrote: >> >> > OK, can you please let me know when the patch eventually gets into Vim. >> > Thanks again! >> >> Hm, that is a tricky one and I am not sure how to solve that one. >> >> If you take this text (here with line numbers:) >> 1 test test test test >> 2 test test test test >> 3 test test test test >> 4 test >> 5 test test test >> >> The basic logic for the gN motion is, (1st) move to the next match and >> from there (2nd) move to the end of the previous match, then (3rd) mark >> everything until the beginning of the now current match. >> >> However the search pattern "test\ntest" adds some uncertainty, where the >> next and previous match starts. Consider your cursor on the first >> character of the word test in line 3. The motion gN will first move it >> to the next match, which is at the beginning of the next line (line 4), >> however, at the same time, it is still part of the current match. >> Therefore, jumping back to the previous match will move the cursor to >> line 2 end of the first word test. >> >> To fix that, we would need to make sure, that at step one, we have to >> move over everything which is part of the current match and I really >> don't know if this is possible. >> >> I am uncertain whether this is a bug or should be documented, that gN >> might not work well for overlapping multiline patterns. >> >> Best, >> Christian >> >> -- >> -- >> You received this message from the "vim_use" maillist. >> Do not top-post! Type your reply below the text you are replying to. >> For more information, visit http://www.vim.org/maillist.php >> >> --- >> You received this message because you are subscribed to the Google Groups >> "vim_use" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> > > -- -- You received this message from the "vim_use" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_use" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
