A.J.Mechelynck wrote:
> Liu Yubao wrote:
>> Hi,
>>
>> I want a function Highlight(from_row, from_col, width, height, color)
>> where
>> from_row > 0 && from_col > 0 && width >=0 && height >=0 and zero means
>> maximum.
>> The highlight will stay until I call something to cancel it.
>>
>> With this function, I can place a rule at column 80 with Highlight(1,
>> 80, 1, 0, green),
>> highlight all xml blocks like View Source Chart extension for Firefox
>> (http://jennifermadden.com/scripts/ViewRenderedSource.html), make a
>> table with colorized
>> border and so on.
>>
>> I would greatly appreciate your help!
>>
>>

[snip]

>         else
>             exe 'match' a:highlightGroup '/'
>             \    . '\%>' . row_before . 'l^.*$'
>             \    . '\&'
>             \    . '\%<' . row_after  . 'l^.*$'
>             \    . '\&'
>             \    . '\%>' . col_before . 'v.*$'
>             \    . '\&'
>             \    . '^.*\%>' . col_after . 'v.'
It appears it should be:
                    \    . '\%>' . row_before . 'l'
                    \    . '\&'
                    \    . '\%<' . row_after  . 'l'
                    \    . '\&'
                    \    . '\%>' . col_before . 'v'
                    \    . '\&'
                    \    . '\%<' . col_after  . 'v'

>             \    . '/'
>         endif
>     endfunction
> 
> Notes:
> - The last argument is not a color but a highlight group, as in
> 
>     :exe 'call Highlight(1,80,1,' . (line('$') - 1) . ', Todo)'

The last argument should be quoted with double quotation marks.

It's a pity this function can only highlight text in a rectangle area,
it can't highlight an empty area.

Anyway, thank you very much, I learn the usage of "\%>" and "\%<".

> 
> - Arguments which would not result in a nonempty highlight will be
> rejected (except that there is no check that lines are long enough or
> numerous enough to reach into the highlight area). In particular, height
> or width cannot be zero. (Use some arbitrary high value like 999999 for
> maximum height or width.)
> - To remove the highlight, use
> 
>     :match none
> 
> - The use of continuation lines assumes that 'nocompatible' has been
> set, either explicitly, or implicitly due to the existence of a user vimrc.
> 
> see
>     :help :match
>     :help ordinary-atom
>     :help pattern
> 
> 
> Best regards,
> Tony.
> 

Reply via email to