Если файл действительно большой, количество подходящих записей мало, и вы не хотите перемещаться по всему файлу с решением v/<pattern>/ m$
, вы можете сделать это:
Выберите любую марку, которая вас не волнует, скажем 'k
. Теперь следующая последовательность клавиш делает то, что вы хотите:
ggmk:g/method_name/ m 'k-1
ggmk
отмечает первую строку с 'k
.
m 'k-1
перемещает совпадающую строку на 1 строку перед отметкой 'k
(и отметка перемещается вниз вместе со строкой, к которой она прикреплена).
При этом будут перемещены только несколько совпадающих строк, а не весь файл.
Примечание: это как-то работает, даже если первая строка содержит шаблон - и у меня нет объяснения этому.
Для скриптов:
normal ggmk
g/method_name/ m 'k-1