VIM: Buscar y reemplazar

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\)\>/PERRO/g

Búsca "perro" o "perra" solo si es palabra completa y lo cambia por "PERRO"

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.

Retro

Lugares

Redes

Sistemas

Varios