view src/testdir/test53.in @ 10670:bce3eccea39a v8.0.0225

patch 8.0.0225: put in Visual block mode terminates early commit https://github.com/vim/vim/commit/9957a10d0f0c34d8083af6ed66e198e4796038e0 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Jan 23 21:53:53 2017 +0100 patch 8.0.0225: put in Visual block mode terminates early Problem: When a block is visually selected and put is used on the end of the selection only one line is changed. Solution: Check for the end properly. (Christian Brabandt, neovim issue 5781)
author Christian Brabandt <cb@256bit.org>
date Mon, 23 Jan 2017 22:00:04 +0100
parents 847518911c0b
children
line wrap: on
line source

Tests for string and html text objects. vim: set ft=vim :

Note that the end-of-line moves the cursor to the next test line.

Also test match() and matchstr()

STARTTEST
:so small.vim
/^start:/
da"
0va'a'rx
02f`da`
0fXdi"
03f'vi'ry
:set quoteescape=+*-
di`
$F"va"oha"i"rz
:"
/^<begin
jfXdit
0fXdit
fXdat
0fXdat
dit
:"
:put =matchstr(\"abcd\", \".\", 0, 2) " b
:put =matchstr(\"abcd\", \"..\", 0, 2) " bc
:put =matchstr(\"abcd\", \".\", 2, 0) " c (zero and negative -> first match)
:put =matchstr(\"abcd\", \".\", 0, -1) " a
:put =match(\"abcd\", \".\", 0, 5) " -1
:put =match(\"abcd\", \".\", 0, -1) " 0
:put =match('abc', '.', 0, 1) " 0
:put =match('abc', '.', 0, 2) " 1
:put =match('abc', '.', 0, 3) " 2
:put =match('abc', '.', 0, 4) " -1
:put =match('abc', '.', 1, 1) " 1
:put =match('abc', '.', 2, 1) " 2
:put =match('abc', '.', 3, 1) " -1
:put =match('abc', '$', 0, 1) " 3
:put =match('abc', '$', 0, 2) " -1
:put =match('abc', '$', 1, 1) " 3
:put =match('abc', '$', 2, 1) " 3
:put =match('abc', '$', 3, 1) " 3
:put =match('abc', '$', 4, 1) " -1
:put =match('abc', '\zs', 0, 1) " 0
:put =match('abc', '\zs', 0, 2) " 1
:put =match('abc', '\zs', 0, 3) " 2
:put =match('abc', '\zs', 0, 4) " 3
:put =match('abc', '\zs', 0, 5) " -1
:put =match('abc', '\zs', 1, 1) " 1
:put =match('abc', '\zs', 2, 1) " 2
:put =match('abc', '\zs', 3, 1) " 3
:put =match('abc', '\zs', 4, 1) " -1
:/^start:/,/^end:/wq! test.out
ENDTEST

start: "wo\"rd\\" foo
'foo' 'bar' 'piep'
bla bla `quote` blah
out " in "noXno"
"'" 'blah' rep 'buh'
bla `s*`d-`+++`l**` b`la
voo "nah" sdf " asdf" sdf " sdf" sd

<begin>
-<b>asdf<i>Xasdf</i>asdf</b>-
-<b>asdX<i>a<i />sdf</i>asdf</b>-
-<b>asdf<i>Xasdf</i>asdf</b>-
-<b>asdX<i>as<b />df</i>asdf</b>-
-<b>
innertext object
</b>
</begin>
SEARCH:
end: