…::: Guatewireless.org ::::..

Tecnologia, Software Libre, Guatemala, Open Source, Linux, Wireless, WiFi, Scripting, Debian, CentOS, Gentoo, Redhat, SuSE, Windows

Buscar y Reemplazar – Expresiones Regulares en Vi

En el articulo anterior Referencia Rapida de Vi hablamos de los comandos basicos del editor. El dia de hoy vamos a ver un poco de como hacer busquedas y reemplazo de texto dentro de Vi.

Busquedas

/texto Busca el texto hacia adelante
?texto Busca hacia atras el texto
n Busca la siguiente vez que el texto aparezca dentro del documento
N Busca el texto donde haya aparecido anteriormente


La funcion de buscar y reemplazar se ejecuta con el comando :s. Se utiliza comunmente al combinarlo con rangos y el comando :g
:s/patron/string/flags Reemplaza el patron con el string segun las flags.

Reemplazar

g Flag – Reemplaza todas las ocurrencias del patron
c Flag – Confirma el reemplazo
& Repite el ultimo comando : s

Expresiones Regulares

. (punto) Un simple caracter, excepto nueva linea (newline)
* Todas las ocurrencias de cualquier caracter
[...] Cualquier caracter especificado en el conjunto
[^...] Cualquier caracter no especificado en el conjunto
^ Ancla – al inicio de la linea
$ Ancla – final de la linea
\< Ancla – al inicio de la palabra
\> Ancla – al final de la palabra
\(…\) Agrupar – usualmente para agrupar condiciones
\n Contenido del grupo n

Ejemplos

[...] Set – Conjuntos

[A-Z] El Set o conjunto de A hasta Z mayusculas.
[a-z] El conjunto de a hasta z minusculas.
[0-9] El conjuto del 0 al 9, todos los numerales.
[./=+] El conjunto que contiene . (punto), / (diagonal), = y + .
[-A-F] El conjunto desde A hasta F mayusculas y el gion.
[0-9 A-Z] El conjunto que contiene todas las letras mayusculas, los numeros y un espacio.
[A-Z][a-zA-Z] En la primera posicion, el conjunto de las letras A hasta Z mayusculas
y en la segunda posicion del caracter, el conjunto que contiene todas las letras.

/2134$/

Regular Expression

/H0la/ Coincide si la linea contiene el valor H0la.
/^TEST$/ Coincide si la linea contiene TEST por si solo.
/^[a-zA-Z]/ Si lalinea empieza con cualquiera de estas letras.
/^[a-z].*/ Si el primer caracter de la linea es a-z
y si al menos una letra mas sigue a continuacion.
Coincide si la linea termina en 2134.
/\(21|35\)/ Coincide si la linea contiene 21 o 25.
/[0-9]*/ Coincide si hay cero o mas numeros en la linea
/^[^#]/ Verdadero si el primer caracter en la linea no es un #

Nota: Las Expresiones Regulares
1.- Son case sensitive
2.- Deben ser utilizadas en lugar del patron

Contadores

Casi todos los comandos pueden ser precedidos por un numero, el cual especifica las veces que el comando se debe de ejecutar. Por ejemplo, 5dw borra 5 palabras y 3fe movera el cursor hacia adelante hasta la tercera ocurrencia de la letra e. Incluso es posible insertar la misma linea 100 veces.

Rangos

Los rangos pueden escribirse con los comandos de dos puntos (:) y ser ejecutados en una o varias lineas. Por ejemplo, :3,7d borrara las lineas 3-7. Los rangos son combinados con el comando :s para realizar un reemplazo sobre varias lineas, como: $s/patron/string/g para reemplazar desde la linea actual hasta el fin del documento.

:n,m Rango – Lineas n-m
:. Rango – Linea actual
:$ Rango – Ultima linea
:’c Rango – Marcador c
:% Rango – Todas las lineas en el archivo
:g/patron/ Rango – Todas las lineas que contengan el patron

Archivos

:w archivo Escribir al archivo
:r archivo Leer desde el archivo
:n Ir al proximo archivo
:p Ir al archivo anterior
:e archivo Editar el archivo
!!program Reemplazar la linea con la salida desde program

Otros

~ Cambias mayusculas/minusculas
J Unir lineas
. Repetir el ultimo comando de cambio de texto
u Deshacer el ultimo cambio
U Deshacer todos los cambios en la linea

Popularity: 9%

3 Comentarios

  1. Vim rocks

  2. Muy buena explicacion pero te falto un ejemplo resuelto :(

  3. hola q tal sii tu informacion es de mucha ayuda gracias !!!!!!!!! bye

Por favor, escriba un comentario

Por favor tome en cuenta lo siguiente:
Los comentarios son moderados, por lo cual puede tardar en ser publicados. No hay necesidad de repetir su comentario.
Su correo electronico nunca sera revelado.

Terminos de busqueda


  • expresiones regulares vim
  • reemplazar en vi
  • expresiones regulares vi
  • vim expresiones regulares
  • vi reemplazar
  • vi expresiones regulares
  • expresiones regulares reemplazar
  • reemplazar expresiones regulares
  • expresiones regulares en vi
  • reemplazar vi
  • buscar vi
  • reemplazar vim
  • reemplazar con expresiones regulares
  • buscar en vim
  • buscar expresiones
  • vim reemplazar
  • vi buscar y reemplazar
  • expresiones regulares en vim
  • vim buscar y reemplazar
  • expresion regular reemplazar
  • reemplazar con vi
  • buscar y reemplazar en mysql
  • buscar palabra en archivos linux
  • reemplazar caracteres java
  • buscar en vi
  • vi buscar
  • comando reemplazar
  • buscar vim
  • contador de ocurrencias en un texto en java
  • vi reemplazar cadena
  • expresion regular *
  • java expresiones regulares sustituir
  • contador de ocurrencias de un texto en java
  • buscar y reemplazar en vi
  • reemplazar palabra en vi
  • expresiones regulares linux
  • sustituir en vi
  • funcion reemplazar texto por numeros expresion regular php
  • comandos buscar y reemplazar un documento linux
  • comandos vi buscar
  • REEMPLAZAR cualquier numero por caracter mysql
  • reemplazar contenido archivo linux expresion regular
  • expresion regular mayusculas java
  • expresion regular sustituir caracter
  • expresiones regulares inicio linea
  • reemplazar caracter java
  • buscar y remplazar linux
  • reemplazar en java con expression regular
  • sustituir expresion regular linux
  • sustituir caracteres vim
  • expresiones regular vim
  • COMO BUSCAR Y REEMPLAZAR EN EL EDITOR VI
  • reemplazar con vim
  • reemplazar caracteres en ubuntu
  • reemplazar cadenas de texto en el editor vi linux
  • vim buscar reemplazar
  • buscar patron en editor
  • editor vi sustituir una parabra en todo el archvo
  • editor vi reemplazar
  • buscar expresiones de palabras