Ene 152016
 

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:

Primera línea.
    La segunda línea tiene cuatro espacios al comienzo

El resultado del comando “J” sería:

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:

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:

uno
dos unir
tres 
cuatro
cinco unir
   seis
siete

utilizando el comando “:g/unir/join”, obtenemos como resultado:

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:

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!”

Referencias

StackOverflow: How do I join two lines in vi

 Publicado por en 9:15 am

 Deja un comentario

(requerido)

(requerido)