next up previous contents
Siguiente: Caracteres especiales en las Subir: Búsqueda de palabras Anterior: Comandos básicos de búsqueda:   Índice General

Configuración de ciertas características de las búsquedas

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 ``/''.


next up previous contents
Siguiente: Caracteres especiales en las Subir: Búsqueda de palabras Anterior: Comandos básicos de búsqueda:   Índice General
Cancerbero 2005-02-12