LinuxParty
NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Para hacer una búsqueda en Vim, bastará pulsar la tecla [ / ]
. Recuerda que si estás en el "modo insertar", puedes pulsar la tecla [ Esc ] o la combinación de teclas [ Ctrl ]+[ O ]
, pasas puntualmente al modo normal. Una vez introducida la cadena de búsqueda, pulsas [ enter ]
, y aparecerán todas las coincidencias resaltadas. Si quieres quitar ese resaltado simplemente utiliza el comando [ :noh ]
.
En el caso de que veas que no se resaltan los resultados, y realmente existan resultados correspondientes a la búsqueda que estás realizando, simplemente utiliza la opción [ :set highlight ]
.
Una vez realizada la búsqueda conforme te he indicado anteriormente, y resaltados todos los resultados puedes navegar entre ellos utilizando,
[ N ]
para ir al siguiente resultado[ Mayúsc ]+[ N ]
para ir al resultado anterior
Indicarte que si en lugar de utilizar [ / ]
utilizas [ ? ]
realizarás la búsqueda hacia atrás. Es decir, con [ / ]
realizas las búsquedas desde la posición que te encuentras hacia adelante. Mientras que con [ ? ]
realizas las búsquedas desde donde te encuentras hacia atrás.
Pero no solo esto, si te encuentras en el modo normal, te sitúas sobre una palabra y pulsas [ * ]
, se resaltarán todas las coincidencias de esa misma palabra a lo largo de todo el documento. Por supuesto, puedes desplazarte como he indicado anteriormente.
Resumiendo
[ / ]<texto>
busca[ <texto> ]
hacia adelante[ ? ]<texto>
busca[ <texto> ]
del cursor hacia atrás.
Menos usados, pero también conviene saberlo, referentes a un caracter.
[ t ]<caracter>
salta hasta el[ <caracter> ]
siguiente[ T ]<caracter>
salta hasta el[ <caracter> ]
precedente[ f ]<caracter>
salta sobre el[ <caracter> ]
siguiente[ F ]<caracter>
salta sobre el[ <caracter> ]
precedente
De localización.
[ n ]
te mueve a la siguiente localización de la palabra que buscas[ N ]
en este caso salta a la localización precedente[ ; ]
salta sobre el siguiente cárácter, relativo al último que te moviste[ , ]
idem que en el caso anterior, pero en lugar de al siguiente, al precedente
Reemplazando en Vim
Pero de verdad, si hay algo que me tiene completamente enamorado es reemplazar en Vim. Es algo realmente espectacular. Tener al alcance de tus dedos todo el potencial de las expresiones regulares para buscar y reemplazar en Vim, es algo que, sinceramente, me fascina.
Sintaxis
Aquí si me quiero detener un poco, y dejar mas o menos clara la sintaxis a la hora de buscar y reemplazar en Vim. Fíjate,
[ :rango s/patron/reemplazo/[cgil] ]
Lo que estás buscando y más vas a usar es lo siguiente:
:%s/texto-a-cambiar/texto-remplazado/g
No obstante, esta es su sintaxis
Respecto al rango, puede ser alguno de los enumerados abajo, una combinación o ninguno de ellos. el [ rango ]
es totalmente opcional, siempre puedes omitirlo
[ numero ]
se refiere a la búsqueda y reemplazo en una línea concreta[ inicio,fin ]
de la línea[ inicio ]
a la línea[ fin ]
[ . ]
para la línea actual[ $ ]
se refiere a la última línea del archivo[ % ]
se refiere a todo el archivo
Existen algunas opciones mas de las que te he indicado, pero con estas, seguro que abarcas la mayor parte de los casos que necesites. Algunos ejemplos,
[ :5,10s/casa/caso/g ]
reemplaza[ casa ]
por[ caso ]
entre las líneas 5 y 10 del documento.[ :%s/casa/caso/g ]
se comporta igual que el caso anterior, pero lo hace en todo el documento.
Por otro lado, respecto a las opciones [ cgil ]
que aparecen en la sintaxis indicadas anteriormente,
[ c ]
te obliga a confirmara cada una de las sustituciones.[ g ]
reemplaza todas las ocurrencias de la línea. Si no se añade esta opción solo cambiará la primera de las apariciones en la línea.[ i ]
no distingue entre mayúsculas y minúsculas.[ l ]
diferencia entre mayúsculas y minúsculas.
Así, por en general, la forma de cambiar todas las apariciones de la palabra [ casa ]
en un texto, es tan sencillo como [ :%s/casa/caso/g ]
si además no quieres hacer distinción entre mayúsculas y minúsculas [ :%s/casa/caso/gi ]
Expresiones regulares
Llegados a este punto, y para sacar el máximo provecho, tendrás que hacer uso de las expresiones regulares. Para ello, de nuevo te remito al capítulo comodines y expresiones regulares del tutorial sobre el terminal
Algunos ejemplos
A continuación te dejo algunos ejemplos para que te hagas una idea del potencial que tienen tanto las expresiones regulares como el uso de reemplazar con Vim.
:5,10s/casa/caso/g
reemplazacasa
porcaso
entre las líneas 5 y 10 del documento.:%s/casa/caso/g
se comporta igual que el caso anterior, pero lo hace en todo el documento.
Por otro lado, respecto a las opciones cgil
que aparecen en la sintaxis indicadas anteriormente,
c
te obliga a confirmara cada una de las sustituciones.g
reemplaza todas las ocurrencias de la línea. Si no se añade esta opción solo cambiará la primera de las apariciones en la línea.i
no distingue entre mayúsculas y minúsculas.l
diferencia entre mayúsculas y minúsculas.
Así, por en general, la forma de cambiar todas las apariciones de la palabra casa
en un texto, es tan sencillo como :%s/casa/caso/g
si además no quieres hacer distinción entre mayúsculas y minúsculas :%s/casa/caso/gi

-
Linux
- Cómo borrar archivos MUY GRANDES (100-200 GB) en Linux
- La cuota de mercado de Linux en Steam sigue siendo superior a la de Apple macOS
- ¿Puedes ejecutar Linux en un Commodore 64?
- Cambiar la hora en Linux con Chrony
- Ahora puede actualizar Linux Mint 21.1 a Linux Mint 21.2, así es como
- Renombrar archivos masivamente en Linux (quitar espacios, cambiar mayúsculas) a la vez en Linux
- Usa tmux para una terminal más poderosa para Linux
- Las mejores distribuciones ligeras Linux para equipos antiguos [con requisitos del sistema]
- Cómo actualizar de AlmaLinux 8 a AlmaLinux 9
- Control Web Panel, CWP, uno de los mejores paneles de control web hosting para Linux y gratuito
- Cómo instalar y habilitar la finalización automática de Bash
- Cómo configurar FirewallD en distribuciones basadas en RHEL, Fedora, Alma Linux, CentOS, y demás
- Aprenda a usar el comando 'fuser' con ejemplos en Linux
- The Silver Searcher: la herramienta alternativa para búsquedas internas, más rápida que grep en Linux
- Cómo enviar un mensaje a usuarios registrados en la terminal de Linux
Comentarios