Сила g:
:g/\vdefn.*\n\s*\zs"([^"]|\n)*"/normal gngq
Часть между /s довольно понятна, так как это регулярное выражение из вашего исходного вопроса.
normal gngqв конце это несколько интересно. gnвыберет следующее совпадение регулярного выражения и gq, конечно, отформатирует этот выбор (как вы упомянули в своем вопросе).
:gэто действительно отличная часть. Это, на мой взгляд, одна из самых полезных функций Vim. Команда gex принимает регулярное выражение и команду Ex и выполняет команду в каждой строке, с которой совпадает регулярное выражение. Если вы еще не узнали об этом :g, я настоятельно рекомендую это сделать, поскольку это значительно повысит вашу производительность. Несколько ресурсов являются собственностью Vim :help :gили Power of g на вики Vim.
gnДеталь выбора из строки , в которойVинициируется к следующему (не тот , на той же линии) вхождение шаблона. Документация Vim гласит, что если активен визуальный режим, выбор расширяется от текущей строки до следующего шаблона. Это вызывает нежелательное поведение.