Given I have the following string:
This is a test {{ string.string.string }}.
And try to perform the following substitution:
%s/{{ [\w\.]\+ }}/substitute/g
It will not work with the error: Pattern not found.
When I use:
%s/{{ [a-zA-Z\.]\+ }}/substitute/g
It works.
Is there a way to use the meta-character-classes in ranges in VIM?
You can use:
A non capturing sub-expression, see :help E53
(you can use a capturing sub-expression as well, \(\)
, but the overhead of capturing is useless)
%s/{{ \%(\w\|\.\)\+ }}/substitute/g
A sequence of optionally matched atoms - \%[]
, see :help E70
%s/{{ \%[\w\.]\+ }}/substitute/g