Я заметил, что стандартный синтаксис регулярного выражения для сопоставления нескольких строк заключается в использовании / s, например:
This is\nsome text
/This.*text/s
Это работает, например, в Perl, но, похоже, не поддерживается в Vim. Вместо этого я должен быть более конкретным:
/This[^\r\n]*[\r\n]*text/
Я не могу найти причину, почему это должно быть, поэтому я думаю, что, вероятно, просто пропустил соответствующие части в справке vim.
Может ли кто-нибудь так или иначе подтвердить такое поведение?
:h /\_.
? То есть, я знаю, что это работает, но почему:h /\_.
работает, а нет:h \_.
?\_.
котором вы можете читать, например: дайте мне помощь по поисковому выражению\_.
foo bar \n foo baz \n foo
попробуйте/foo\_.\{-}foo