I intend to fold all the lines ending in {
but not classes. So far I have came up with this command :
:%g/.\{-}\(class\)\@!.*{$/normal! zf%
But this would match also the lines containing class
.
I intend to fold all the lines ending in {
but not classes. So far I have came up with this command :
:%g/.\{-}\(class\)\@!.*{$/normal! zf%
But this would match also the lines containing class
.
There are several problems:
:help /\@!
: "You can't use "\@!" to look for a non-match before the matching position". Use \@<!
, include the possible characters in between in there, and drop the useless (because it's not anchored) non-greedy first match.:global
command places the cursor on the first column of matching lines, so add a $
to make the %
work all the time.zv
.Ergo:
:%g/\%(class.*\)\@<!{$/normal! $zvzf%