On Tue 12-Sep-06 7:10pm -0600, you wrote: > Bill McCarthy wrote: >> I want to match a line containing only the word "text" and a >> line containing only the word "endtext". >> >> let b:match_words = '^\s*text\s*$:^\s*endtext\s*$' >> >> works, but '%' brings me to the beginning of the line, as >> would be expected from those regexes. Using '\zs' in front >> of "text" and "endtext" causes the '%' mechanism to fail. >> >> (I noticed that when I only added the '\zs' in front of the >> first 'text', the '%' failed while on the 'text' line, but >> worked from the 'endtext' line - even landing in the correct >> position.) >> >> How do I get matchit to move between the first 't' in 'text' >> and the first 'e' in 'endtext'? >>
> I got it to work with > :let b:match_words = > '\%(^\s*\)\@<=text\s*$:\%(^\s*\)\@<=endtext\s*$' > see ":help /\@<=" Thanks, Tony. I was just getting ready to respond to myself with another solution I found with a hint from the help file: let b:match_words = \'\%(\S\+\)\@<!text\s*$:\%(\S\+\)\@<!endtext\s*$' Hint from ":help matchit-spaces" Also ":help /\@<!" But I'm still wondering why '\zs' didn't work. -- Best regards, Bill