Hello everybody,
I came across a strange behavior of Vim. Consider the following two 
lines; the 2nd line starts with spaces.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Test test test
    Test test test
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I want to match each 1st word of a line, ignoring preceding white 
spaces. The expression
     /\v^\s*\zs\w+
works perfectly, however,
     /\v^(\s*)@<=\w+
does not. It only matches words in the very beginning of a line, but not 
those preceded by whitespaces. I cannot see why the latter would not be 
equivalent to the first expression.
According to
     :h @<=
"Vim allows non-fixed-width patterns". Thus, I would expect the positive 
lookbehind to work also for the 2nd line. (I know that \zs is the 
preferable solution anyway, but I'm curious.)
Any ideas?
Best,
Claus
No comments:
Post a Comment