Згідно з цим :help multi-repeat, :gі його двоюрідний брат :vпрацює у двох проходах.
Перший пропуск :gпозначає кожен рядок, який відповідає {pattern}, а другий пропуск (мабуть, виконується починаючи з початку файлу і закінчуючи до кінця) виконує [cmd]. Вищеописане використання :gпереваг використовує замовлення, в якому обробляються рядки (що, мабуть, нормально, хоча, ймовірно, технічно не гарантується).
Він працює, спочатку позначаючи кожен рядок, потім переміщуючи перший позначений рядок у верхню частину файлу, потім переміщуючи другий у верхню частину файлу (вище рядка, переміщеного раніше), потім третій позначений рядок (знову вище перенесеного раніше рядок) і так далі, поки останній рядок у файлі не буде переміщений у верхню частину, фактично перевернувши файл.
Зауважте, що якби :gоброблені рядки були в будь-якому порядку, відмінному від верху до низу, ця команда не працюватиме.