Vim elimina líneas en blanco
¿Qué comando puedo ejecutar para eliminar líneas en blanco en Vim?
:g/^$/d
:g
ejecutará un comando en líneas que coincidan con una expresión regular. La expresión regular es 'línea en blanco' y el comando es :d
(eliminar)
Lo encontré, es:
g/^\s*$/d
Fuente: Poder de g en vim wikia
Breve explicación de
:g
:[range]g/pattern/cmd
Esto actúa en el [rango] especificado (archivo completo predeterminado), ejecutando el comando Ex cmd para cada línea que coincida con el patrón (un comando Ex es uno que comienza con dos puntos, como
:d
para eliminar). Antes de ejecutar cmd , ".
" se establece en la línea actual.
:v/./d
o
:g/^$/d
o
:%!cat -s
Se puede utilizar lo siguiente para eliminar solo varias líneas en blanco (reducirlas a una sola línea en blanco) y dejar intactas las líneas en blanco individuales:
:g/^\_$\n\_^$/d
cómo eliminar todas las líneas en blanco
:%s,\n\n,^M,g
(haga esto varias veces hasta que desaparezcan todas las líneas vacías)
cómo eliminar todas las líneas en blanco dejando UNA SOLA línea vacía
:%s,\n\n\n,^M^M,g
(haz esto varias veces)
cómo eliminar todas las líneas en blanco dejando DOS líneas vacías COMO MÁXIMO,
:%s,\n\n\n\n,^M^M^M,g
(haz esto varias veces)
Para ingresar ^M, tengo que controlar-Q y controlar-M en Windows.