La pregunta más o menos lo dice todo. Soy consciente de que /^$/deliminará todas las líneas en blanco, pero no puedo ver cómo decir 'reemplazar dos o más líneas en blanco con una sola línea en blanco'
¿Algunas ideas?
                    
                        vim
                                sed
                                regular-expression
                                
                    
                    
                        Andrew Bolster
fuente
                
                
            fuente

-sopción de cat: solo una nota histórica, no está en POSIX, pero parece estar disponible en BSD y GNU cat.:%!cat -s. ¡Aprende algo GNnew todos los días!%s!\n\n\n\+!\r\r!gUse
\npara indicar una nueva línea en el patrón de búsqueda. Use Ctrl+ Men el texto de reemplazo, o una referencia inversa. Ver:help patterny:help sub-replace-special(vinculado desde:help :s).fuente
\nno funciona en el texto de reemplazo.Si en Vim, solo haz esto:
fuente
manpágina.Usando Perl:
-00la opción de línea de comando activa el modo slurp de párrafo, lo que significa que Perl lee el texto párrafo por párrafo en lugar de línea por línea.fuente
Con sed (GNU sed) 4.2.2:
fuente
Sé que este es un código tonto, pero quería resolver este problema en menos de 10 minutos, y funcionó
fuente
uniqelimina líneas iguales adyacentes. Que no es lo que OP quiere.