Buscar y reemplazar

( desarrollo / vim )
Teclas y comando para hacer búsquedas dentro del vim:

Usando teclas:

/quebuscar - Busca hacia adelante "quebuscar"
?quebuscar - Busca hacia atrás "quebuscar".
// -
Repite la búsqueda hacia adelante. ?? -
Repite la búsqueda hacia atrás.
NOTA: Si se activa set incsearch se busca mientras se teclea.

* - Busca la palabra (completa) bajo el cursor hacia adelante.
# - Busca la palabra (completa) bajo el cursor hacia atrás.
g* - Busca la palabra (completa o no) bajo el cursor hacia adelante. Si la palabra es juan, encontrará juan, juanito, etc.
g# - Busca la palabra (completa o no) bajo el cursor hacia atrás. Si la palabra es juan, encontrará juan, juanito, etc.

Usando comando:

:[rango]%s/busca/reemplaza/[opciones] - Busca 'busca' y lo reemplaza por 'reemplaza'.
rango: puede ser % que es todo el fichero o indicar a que número de líneas se aplica. opciones: g significa todas las ocurrencias que haya, c significa preguntar antes de reemplazar e i significa que ignora mayúsculas o minúsculas. Ejemplos:
 :%s/erro/ERRO/g
Búsca "erro" ya sea palabra completa o no y lo cambia por "ERRO" mi perro y mi perra comen pero otros perros y perras no
 :%s/\/ERRO/g
Búsca erro solo si es palabra completa y lo cambia por "ERRO" mi perro y mi perra comen pero otros perros y perras no
:%s/\<\(perro\|perra\)\>/ERRO/g
Búsca "erro" o "erra" solo si es palabra completa y lo cambia por "ERRO" mi perro y mi perra comen pero otros perros y perras no
 :%s!\~!\= expand($HOME)!g
Cambia el signo "~" por si path completo. Se puede usar expand con cualquier variable de sistema o definida por el usuario.
 :%s/^/\=line(".") . ". "/g
Añade números de línea al texto, es como ":set number" pero permanente, útil para numerar ficheros de texto.
 :%s/\.\s*\w/\=toupper(submatch(0))/g
pone a matúsculas la primera letra de las palabras detrás de un punto y seguido uno o más espacios.
Modificado el 16 de noviembre de 2010
Creado el 31 de octubre de 2010
   

Compartiendo conocimiento desde 1995 - I.M.D. I.M.D.