Нежирный многострочный поиск в vim

Я пытаюсь выполнить поиск рубинового файла и найти все методы (перед их автоматической установкой позже). В vim я использую следующее regexp:

/\vdef.*(\n.*){-}end

Однако, хотя я использую "{-}", он выбирает содержимое всего файла.

Ответ 1

использует \_. для включить символ новой строки в общий ..

/\vdef\_.{-}end

Ответ 2

Попробуйте следующее регулярное выражение.

/\vdef(\n|.){-}end

.* был виновником в вашем случае

Ответ 3

В моей версии Vim вам нужно избежать {, а также использовать \_., как сказали другие ответы:

/def\_.\{-}end