El poder de lo global funcionará aquí:
:g/^/exe "normal ddggP"
O, más simplemente (gracias @tommcdo)
:g/^/move 0
El primero coincidirá con cada línea y para cada línea, elimínelo y péguelo en la parte superior del archivo. A medida que se mueve por el archivo, invierte el texto.
El segundo coincide de manera similar con cada línea y la mueve a la parte superior del archivo.
Nota: Ambos funcionan en todo el archivo y no se aplicarán correctamente para invertir un subconjunto de líneas. Vea la respuesta de Ingo Karkat para una solución que funciona dentro de un rango.
Descripción:
gel comando global
/^/coincide con cualquier línea que tenga un comienzo (es decir, todas las líneas)
exeejecute la siguiente cadena
"normalrealice los comandos en modo normal
ddelimine la línea
ggmueva a la parte superior del archivo
Ppegue por encima de la posición actual
move 0 mueve la línea actual a debajo de la línea 0 (que la coloca en la posición 1 o la primera línea del archivo)