lunes, 25 de marzo de 2019

Aprendiendo Vim #5

Sustitución de texto en Vim

Como continuación a la última entrada referente a Vim, Aprendiendo Vim #4, en esta entrada se va a profundizar en la sustitución de texto en Vim.
Vim permite realizar sustituciones de texto de forma automatizada, en vez de ir buscando palabra por palabra y hacer las mismas a mano.
Vamos a comenzar viendo un ejemplo práctico y explicando a continuación los detalles.

Ejemplo

Consideraremos un fichero de texto con el siguiente contenido:
En 1991, en Helsinki, Linus Torvalds comenzó un proyecto que más tarde llegó a ser el núcleo Linux. Esto fue al principio un emulador terminal, al cual Torvalds solía tener acceso en los grandes servidores UNIX de la universidad.
Él escribió el programa expresamente para el hardware que usaba, e independiente de un sistema operativo, porque quiso usar las funciones de su nueva computadora personal con un procesador 80386.
Este es aún el estándar de hoy.
Estando en el modo normal, accederemos al modo línea de comandos e introduciremos lo siguiente:
:%s/Torvalds/Benedict Torvalds/g
  1. Los dos puntos iniciales “:” indican que se entra en el modo línea de comandos.
  2. El siguiente campo, “%s”, indica por una parte que se quiere realizar una sustitución (s[ubstitute]). Si no se añade nada más, la sustitución se realizará en la línea actual. Si se añade “%”, como en este caso, se aplicará en todo el fichero. Si se indica un número (1s por ejemplo), los cambios se aplicarán solo en la línea indicada (1 en este caso). También se puede especificar un rango de líneas, como “3,5s”.
  3. El siguiente campo, separado del anterior por el caracter “/“, especifica el texto a sustituir. Este texto puede ser una expresión regular.
  4. El tercer campo se trata del texto que reemplazará al anterior.
  5. Por último, se puede añadir una serie de modificadores al proceso de sustituición:
    1. c: pide confirmación en cada sustitución.
    2. g: realiza la sustitución en todas las ocurrencias de la cadena buscada en una misma línea. Si este modificador no se usa, sólo se procesará la primera ocurrencia de cada línea.
    3. i: no realiza distinción entre mayúsculas y minúsculas.

Entradas anteriores de Aprendiendo Vim

No hay comentarios:

Publicar un comentario