ch12 continuando sección sustitución

This commit is contained in:
Victorhck 2020-12-21 19:47:38 +01:00
parent de4bc05f4f
commit fe3d2a29d7

View file

@ -229,37 +229,37 @@ Puedes repetir el último comando de sustitución ya sea con el comando normal `
También, previamente en este mismo capítulo mencioné que puedes utilizar `//` para repetir el patrón de búsqueda previo. Este truco funciona con el comando de sustitución. Si `/bueno` fue ejecutado recientemente y dejas el primer argumento del patrón de sustitución en blanco, de esta manera `:s//increíble/`, es lo mismo que ejecutar lo siguiente `:s/bueno/increíble/`. También, previamente en este mismo capítulo mencioné que puedes utilizar `//` para repetir el patrón de búsqueda previo. Este truco funciona con el comando de sustitución. Si `/bueno` fue ejecutado recientemente y dejas el primer argumento del patrón de sustitución en blanco, de esta manera `:s//increíble/`, es lo mismo que ejecutar lo siguiente `:s/bueno/increíble/`.
## Substitution Range ## Rango de sustituciones
Just like many Ex commands, you can pass a range argument into the substitute command. The syntax is: Igual que en muchos comandos Ex, puedes pasarle un rango como argumento al comando de sustitución. La sintaxis es:
``` ```
:[range]s/old/new/ :[rango]s/antiguo/nuevo/
``` ```
If you have these expressions: Si tienes estas expresiones:
``` ```
let one = 1; let uno = 1;
let two = 2; let dos = 2;
let three = 3; let tres = 3;
let four = 4; let cuatro = 4;
let five = 5; let cinco = 5;
``` ```
To substitute the "let" into "const" on lines three to five, you can do: Para sustituir "let" por "const" de la línea tres a la cinco, deberás ejecutar:
``` ```
:3,5s/let/const/ :3,5s/let/const/
``` ```
The substitute command's range syntax is similar to the count syntax in search (`{n,m}`), with minor differences. Here are some variations to pass the range: La sintaxis del rango del comando de sustitución es similar a la sintaxis del contador en el comando de la búsqueda (`{n,m}`), con algunas pequeñas diferencias. Aquí tienes algunas variaciones para pasar el rango:
- `:,3/let/const/` - if nothing is given before the comma, it represents the current line. Substitute from current line to line 3. - `:,3/let/const/` - si no se da ningún parámetro antes de la coma, representa la línea actual. Sustituye desde la línea actual hasta la línea 3.
- `:1,s/let/const/` - if nothing is given after the comma, it also represents the current line. Substitute from line 1 to current line. - `:1,s/let/const/` - si no se da ningún dato después de la coma, también representa la línea actual. Sustituye desde la línea 1 hasta la línea actual.
- `:3s/let/const/` - if only one value is given as range (no comma), it does substitution on that line only. - `:3s/let/const/` - si solo se da un valor como rango (sin coma), realiza la sustitución únicamente en esa línea.
In Vim, `%` usually means the entire file. If you run `:%s/let/const/`, it will do substitution on all lines. En Vim, `%` normalmente se refiere al archivo entero. Si ejecutas `:%s/let/const/`, esto realizará la sustitución en todas las líneas del archvo.
## Pattern Matching ## Pattern Matching