Siguiente: Caracteres especiales en las
Subir: Búsqueda de palabras
Anterior: Comandos básicos de búsqueda:
  Índice General
En relación con las búsquedas hay que tener en cuenta las siguientes
cuestiones:
- Mayúsculas y minúsculas:
- El que las búsquedas sean o no sensibles
a la diferencia entre mayúsculas y minúsculas depende de si está activada
la opción ``ignorecase'' o la de ``noignorecase''. Una u otra se activan
mediante el comando 0 0«:set opción0 0». Por defecto en Vim está activado
``noignorecase'' lo que significa que las búsquedas diferencia entre
mayúsculas y minúsculas. Entre ``ignorecase'' y ``noignorecase'' se
encuentra ``ignorecase smartcase''; en este último caso la búsqueda sólo
distinguirá entre mayúsculas y minúsculas en el supuesto de que en la
cadena de búsqueda se hayan utilizado letras mayúsculas. También es posible
usar los caracteres ``\c'' y ``\C'' en una
cadena de búsqueda concreta para conseguir que, con independencia del valor
general de la opción ignorecase, dicha cadena sea sensible a la distinción
(``\C'') o no lo sea (``\c'').
- Búsqueda por palabras completas:
- No hay en Vim ninguna función o
variable que permita buscar directamente por palabras completas. Pero para
ello podemos usar la característica de las expresiones regulares. Si
``\<'' es el indicador de ``en principio de palabra'' y
``\>'' es el de final de palabra, encerrando el texto
buscado entre ambos indicadores, la búsqueda será por palabras completas.
- Buscar la palabra bajo el cursor
- Si lo que deseamos es simplemente
localizar la próxima aparición de la palabra que está bajo el cursor, los
comandos 0 0«*0 0» y 0 0«#0 0» la buscarán automáticamente para nosotros
hacia delante (0 0«*0 0») o hacia atrás (0 0«#0 0»). Además la búsqueda será
directamente por palabras.
- Iluminación de resultados de la búsqueda
- La iluminación de
resultados consiste en que cuando se realiza una búsqueda, todas las
apariciones en el buffer del texto buscado se resalten con un color
distinto y se mantengan resaltadas hasta que se realice otra búsqueda. Ello
se consigue mediante la opción ``hlsearch''. Para desactivar esta utilidad
hay que establecer la opción ``nohlsearch''; esta última además de una
opción es un comando (de línea de comandos); la diferencia entre 0 0«:set
nohlsearch0 0» y 0 0«:nohlsearch0 0» está en que en el primer caso se desactiva
la iluminación de resultados: a partir de ahora los resultados de las
búsquedas no se iluminarán. Pero si se ejecuta el comando el efecto es sólo
el de que desparezcan la iluminación actual (correspondiente a la última
búsqueda hecha), pero como la utilidad de iluminación sigue activa, la
próxima búsqueda volverá a producir iluminación de resultados.
- Búsqueda incremental:
- Para conseguir que la búsqueda se vaya
efectuando conforme vamos tecleando el texto a buscar (que es una de las
cosas de Emacs que a mí más me gustan), hay que activar la opción
``incsearch'' mediante el comando 0 0«:set incsearch0 0». El efecto de esta
opción es el de ir mostrando en pantalla la primera aparición del
texto tecleado. Pero el cursor no llega a moverse hasta que pulsamos la
tecla INTRO.
- Búsqueda circular:
- Si no queremos que la búsqueda continúe
después de haber llegado al final del documento (o al principio), debemos
activar la opción ``nowrapscan''; para volver al comportamiento de Vim por
defecto hay que activar ``rawscan''.
- Desplazamientos:
- Por defecto la búsqueda deja el cursor al principio
del texto buscado. Podemos no obstante indicarle un desplazamiento concreto
añadiéndolo a la cadena de búsqueda separado del texto a buscar por el
carácter ``/''. Por ejemplo el comando 0 0«/texto/30 0» buscará la cadena
``texto'' y cuando la encuentre desplazará el cursor tres líneas. El número
indicado puede ser positivo o negativo. También podemos indicar un
desplazamiento dentro del texto buscado. Pare ello se usan los indicadores
de
desplazamiento ``b'' y ``e'' seguidos de un número positivo o negativo.
``b'' se refiere al principio del texto buscado (b
beginning) y ``e'' al final del texto buscado (e
end); el
número positivo o negativo indica a qué distancia del principio o del final del texto debe
colocarse el cursor. Por ejemplo 0 0«/texto/e-20 0» dejará el cursor sobre la
``x'' de ``texto''.
En las búsquedas hacia atrás el carácter que separa el texto a buscar del
indicador de desplazamiento es ``?'' en lugar de ``/''.
Siguiente: Caracteres especiales en las
Subir: Búsqueda de palabras
Anterior: Comandos básicos de búsqueda:
  Índice General
Cancerbero
2005-02-12