Introducción
Vim o su precursor Vi viene preinstalado en macOS y la mayoría de las distribuciones de Linux. La búsqueda de texto es una de las tareas más habituales al trabajar con archivos. Conocer los conceptos básicos de Vim puede ser muy útil cuando se encuentra en una situación en la que su editor favorito no está disponible.
Este artículo describe cómo realizar operaciones de búsqueda en Vim /Vi.
Investigación básica
Para buscar en Vim debes estar en modo normal. Cuando inicia el editor de Vim, se encuentra en este modo. Para volver al modo normal desde cualquier otro modo, simplemente presione la Esc
.
Vim le permite buscar texto rápidamente usando /
(barra) y ?
(Signo de interrogación).
Para buscar hacia adelante en el archivo presione /
y para buscar hacia atrás presione ?
, escriba el texto a buscar y presione Enter
para buscar.
Es importante tener en cuenta que el comando de búsqueda busca el patrón (texto de búsqueda) como una cadena, no como una palabra completa. Por ejemplo, si buscaba "gnu", la búsqueda encuentra coincidencias donde "gnu" está incrustado en palabras más grandes, como "cygnus" o "magnum".
Presione n
para buscar la siguiente ocurrencia o N
para buscar en la dirección opuesta.
Los pasos básicos para buscar en Vim son los siguientes:
- Presione
/
. - Escriba su patrón de búsqueda.
- Presione
Enter
para buscar. - Presione
n
para buscar la siguiente aparición oN
para buscar la anterior.
Buscar palabras completas
Para buscar una palabra completa, inicie la búsqueda presionando /
o ?
, escriba \<
para marcar el comienzo de una palabra, ingrese el patrón de búsqueda, escriba \>
para marcar el final de una palabra y presione Enter
para buscar.
Por ejemplo, para buscar "gnu" debe usar /\<gnu\>
.
Busca la palabra actual
También puede buscar una palabra completa moviendo el cursor sobre la palabra y presionando *
(asterisco) para buscar hacia adelante o #
(hash) para buscar hacia atrás. Para encontrar el siguiente resultado, presione *
o #
nuevamente.
Buscar Historia
Vim realiza un seguimiento de todas las operaciones de búsqueda realizadas en la sesión actual. Para explorar su historial de búsqueda, presione /
o ?
use las teclas de flecha arriba /abajo para encontrar una operación de búsqueda anterior. Para buscar, simplemente presione Enter
. También puede editar el patrón de búsqueda antes de realizar la operación.
Distingue mayúsculas y minúsculas
De forma predeterminada, el resultado de la búsqueda distingue entre mayúsculas y minúsculas; la búsqueda de "GNU" no coincide con "Gnu".
Para ignorar mayúsculas o minúsculas, luego para encontrar cualquier coincidencia, escriba :set ignorecase
o :set ic
en la línea de comando de Vim. También puede establecer el caso de ignorar como opción predeterminada agregando el comando en su archivo ~/.vimrc
Para volver al modo de coincidencia de mayúsculas, escriba :set noignorecase
o :set noic
.
Otra forma de forzar la ignorancia del caso es agregar \c
después del patrón de búsqueda. Por ejemplo /Linux\c
ignorará mayúsculas y minúsculas en la búsqueda. Utilice \C
después de que el patrón fuerce la búsqueda sin ignorar el caso.
Conclusión
En este tutorial hemos visto cómo buscar una palabra dentro de un archivo usando Vim /Vi.
Para buscar en Vim /Vi escriba /
o ?
, ingrese su patrón de búsqueda y presione Enter
.