Comando «J»
En el editor vi, el comando Shift+J permite unir la línea en la que se encuentra el cursor con la línea siguiente. Pero además, formatea el resultado eliminando todos los espacios al comienzo de la segunda línea, y añadiendo un espacio de separación entre ambas.
Por ejemplo, si el fichero que estamos editando contiene dos líneas:
1 2 3 4 |
Primera línea. La segunda línea tiene cuatro espacios al comienzo |
El resultado del comando «J» sería:
1 2 3 |
Primera línea. La segunda línea tiene cuatro espacios al comienzo |
Comando «gJ»
Por el contrario, el comando «gJ» une una línea con la siguiente eliminando simplemente el salto de línea, sin eliminar los espacios en blanco al comienzo de la segunda línea ni realizar ningún otro formateo adicional.
Utilizando el comando «gJ», el resultado es:
1 2 3 |
Primera línea. La segunda línea tiene cuatro espacios al comienzo |
Comandos «join» y «join!»
En vim, también podemos utilizar el comando «join», y el comando «join!». Estos comandos se puede utilizar para modificar todas las líneas que coinciden con una expresión regular.
Por ejemplo, suponiendo que tenemos un fichero con las siguientes líneas:
1 2 3 4 5 6 7 8 9 |
uno dos unir tres cuatro cinco unir seis siete |
utilizando el comando «:g/unir/join», obtenemos como resultado:
1 2 3 4 5 6 7 |
uno dos unir tres cuatro cinco unir seis siete |
Como vemos, se han eliminado los espacios al comienzo de las segundas líneas, y se ha añadido un espacio entre ambas.
por el contrario, utilizando el comando «:g/unir/join!», la unión de líneas se realiza sin ningún formateo adicional, y el resultado es:
1 2 3 4 5 6 7 |
uno dos unirtres cuatro cinco unir seis siete |
Utilizar «\n» en una expresión regular
También podemos utilizar la secuencia «\n» (que representa un salto de línea) en una expresión regular.
Por ejemplo, el siguiente comando: «:1,$s/unir\(.*\)\n/unir\1/» da el mismo resultado que el comando «:g/unir/join!»