複数の行にまたがって一致するための標準の正規表現構文は、次のように/ sを使用することです。
This is\nsome text
/This.*text/s
これは、たとえばPerlで機能しますが、Vimではサポートされていないようです。代わりに、もっと具体的にする必要があります。
/This[^\r\n]*[\r\n]*text/
これが必要な理由を見つけることができないので、vimヘルプの関連する部分を見逃したのではないかと考えています。
誰でもこの動作を何らかの方法で確認できますか?
はい、Vimの正規表現ではPerlの//s
修飾子は使用できません。 VimとPerlの正規表現の詳細およびその他の違いのリストについては、:h Perl-patterns
を参照してください。
代わりに、\_.
を使用できます。これは、「改行を含む任意の1文字に一致する」ことを意味します。それはあなたが持っているものより少し短いです。 :h /\_.
を参照してください。
/This\_.*text/