salir linea inicio guardar editar comando cambios borrar archivo vim vi

vim - linea - salir de vi linux



Vim borrar lĂ­neas en blanco (14)

¿Qué comando puedo ejecutar para eliminar líneas en blanco en Vim?


  1. como quitar todas las lineas en blanco

    :%s,/n/n,^M,g

    (haga esto varias veces utilicé todas las líneas vacías que se fueron)

  2. cómo eliminar todas las líneas en blanco dejando una línea vacía

    :%s,/n/n/n,^M^M,g

    (haz esto varias veces)

  3. cómo eliminar todas las líneas en blanco dejando DOS líneas vacías AL MÁXIMO,

    :%s,/n/n/n/n,^M^M^M,g

    (haz esto varias veces)

Para ingresar ^ M, tengo que controlar-Q y control-M en Windows


Esta función solo elimina dos o más líneas en blanco, coloca las líneas a continuación en tu vimrc, luego usa / d para llamar a la función

fun! DelBlank() let _s=@/ let l = line(".") let c = col(".") :g/^/n/{2,}/d let @/=_s call cursor(l, c) endfun map <special> <leader>d :keepjumps call DelBlank()<cr>


Esto funcionó para mí:

:%s/^[^a-zA-Z0-9]$/n//ig

Básicamente, elimina todas las líneas que no tienen un número o letra. Dado que todos los elementos en mi lista tenían letras, se eliminaron todas las líneas en blanco.


Esto funciona para mi

:%s/^/s*$/n//gc


Intenté algunas de las respuestas en esta página, pero muchas de ellas no funcionaron para mí. Tal vez porque estoy usando Vim en Windows 7 (no te burles, solo ten piedad de mí: p)?

Aquí está el más fácil que encontré que funciona en Vim en Windows 7:

:v//S/d

Aquí hay una respuesta más larga en Vim Wikia: http://vim.wikia.com/wiki/Remove_unwanted_empty_lines



Presione la tecla eliminar en el modo de inserción para eliminar las líneas en blanco.


Qué tal si:

:g/^[ /t]*$/d


Se puede usar lo siguiente para eliminar solo varias líneas en blanco (reducirlas a una sola línea en blanco) y dejar las líneas en blanco intactas:

:g/^/_$/n/_^$/d


Si algo tiene doble espacio en su texto, este comando eliminará el doble espacio y combinará las líneas en blanco que se repiten en una sola línea en blanco. Utiliza un delimitador temporal de ^^^ al comienzo de una línea, de modo que si esto choca con tu contenido, elige otra cosa. Las líneas que contienen solo espacios en blanco se tratan como en blanco.

%s/^/s*/n/n/+/^^^/r/g | g/^/s*$/d | %s/^^^^.*


trabajar con perl en vim:

:%!perl -pi -es/^/s*$//g


:g/^$/d

:g ejecutará un comando en las líneas que coincidan con una expresión regular. La expresión regular es "línea en blanco" y el comando es :d (eliminar)


:g/^/s*$/d ^ begin of a line /s* at least 0 spaces and as many as possible (greedy) $ end of a line

pegar

:command -range=% DBL :<line1>,<line2>g/^/s*$/d

en su .vimrc, luego reinicie su vim. Si usa el comando: 5,12DBL, eliminará todas las líneas en blanco entre la fila 5 y la fila 12. Creo que mi respuesta es la mejor respuesta!


:v/./d

o

:g/^$/d

o

:%!cat -s