GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo buscar para encontrar una palabra en Vim o Vi Text Editor

Introducción

Vim y su homólogo más antiguo, Vi, son editores de texto muy utilizados. Ambos son de código abierto (gratuitos) y están disponibles en la mayoría de las distribuciones de Linux y macOS.

Buscar en Vim/Vi palabras o patrones es una tarea común que le permite navegar fácilmente a través de archivos grandes.

Este tutorial le muestra cómo buscar en Vim/Vi con ejemplos prácticos.

Importante :asegúrese de estar en modo normal antes de empezar a buscar. Esto permite la navegación en el texto mientras se usan los comandos normales del editor. Vi y Vim abren un archivo en modo normal de forma predeterminada.
Para cambiar al modo normal, presione Esc .

Búsqueda básica en Vim / Vi

Hay dos formas de buscar un patrón de números o letras en el editor de texto Vim/Vi.

1. Buscar hacia adelante el patrón especificado

2. Busque hacia atrás el patrón especificado

La dirección se determina en relación con la posición del cursor.

Buscar hacia adelante el siguiente resultado de una palabra

Para buscar hacia adelante , usa el comando:

/pattern

Reemplazar pattern con los elementos que desea encontrar.

Por ejemplo, para buscar todas las instancias del patrón "root" , usted:

1. Presione Esc para asegurarse de que Vim/Vi esté en modo normal.

2. Escriba el comando:

/root

El editor de texto resalta la primera instancia del patrón después del cursor. En la imagen a continuación, puede ver que el resultado es parte de una palabra que contiene el patrón especificado. Esto se debe a que el comando no especifica buscar palabras completas.

Desde esta posición, seleccione Entrar y:

  • saltar a la siguiente instancia del patrón en la misma dirección con n
  • saltar a la siguiente instancia del patrón en la dirección opuesta con N

Buscar una palabra hacia atrás

Para buscar hacia atrás tipo:

?pattern

Reemplazar pattern con los elementos que desea encontrar.

Por ejemplo, para buscar todas las instancias del patrón "nologin" , usted:

1. Presione Esc para asegurarse de que Vim/Vi esté en modo normal.

2. Escriba el comando:

?nologin

Vim/Vi resalta la primera instancia del patrón especificado antes del cursor.

Pulse Intro para confirmar la búsqueda. Entonces, puedes:

  • pasar a la siguiente instancia del patrón en la misma dirección con n
  • saltar a la siguiente instancia del patrón en la dirección opuesta con N

Buscando la palabra actual

La palabra actual es la palabra donde se encuentra el cursor.

En lugar de especificar el patrón y pedirle a Vim/Vi que lo encuentre, mueva el cursor a una palabra e indíquele que busque la siguiente instancia de esa palabra.

1. Primero, asegúrese de estar en modo normal presionando Esc .

2. Luego, mueva el cursor a la palabra deseada.

3. Desde aquí, puedes:

  • Busca la siguiente instancia de la palabra con *
  • Busca la instancia anterior de la palabra con #

Cada vez que presiona * o # el cursor se mueve a la instancia siguiente/anterior.

Búsqueda de palabras completas

Para buscar palabras completas, use el comando:

/\<word\>

El editor de texto solo resalta la primera palabra completa exactamente como se especifica en el comando.

Abrir un archivo en una palabra específica

Vim (y Vi) pueden abrir archivos en una palabra específica, lo que le permite omitir un paso e ir directamente al término buscado.

Para abrir un archivo en una palabra específica, use el comando:

vim +/word [file_name]

o

vi +/word [file_name]

Por ejemplo, para abrir /etc/passwd archivo donde primero usa el término "raíz" , usa el comando:

vim +/root /etc/passwd

El editor de texto abre el archivo y la primera línea que muestra es la que contiene el término "raíz" , como en la imagen de abajo.

Búsqueda que no distingue entre mayúsculas y minúsculas

Por defecto, Vi(m) distingue entre mayúsculas y minúsculas cuando se busca dentro del archivo. Por ejemplo, si busca el término /user no muestra resultados con la U mayúscula (es decir, Usuario ).

Hay varias formas de hacer que Vim/Vi no distinga entre mayúsculas y minúsculas.

  • Para buscar una palabra específica con el atributo que no distingue entre mayúsculas y minúsculas, ejecute el comando:
/\<word\>\c

El \c El atributo indica a Vi(m) que ignore mayúsculas y minúsculas y muestre todos los resultados.

  • Una alternativa es configurar Vim para ignorar mayúsculas y minúsculas durante toda la sesión para todas las búsquedas. Para hacerlo, ejecute el comando:
:set ignorecase
  • Por último, el archivo de configuración se puede modificar para que el editor de texto ignore mayúsculas y minúsculas de forma permanente. Abra el ~/.vimrc archivo y agregue la línea :set ignorecase .

Resultados de búsqueda destacados

Vi(m) tiene una función útil que resalta los resultados de búsqueda en el archivo. Para habilitar el resaltado, escriba el siguiente comando en el editor de texto:

:set hlsearch

Para deshabilitar esta función, ejecute:

:set !hlsearch

Historial de búsqueda

Vi(m) realiza un seguimiento de los comandos de búsqueda utilizados en la sesión. Navegue a través de los comandos utilizados anteriormente escribiendo ? o / y usando el arriba y abajo llaves.


Linux
  1. Cómo encontrar un archivo en Linux

  2. Guía del editor de texto ViM 101

  3. Cómo encontrar texto específico usando GREP en Linux

  4. Editor Vi y Vim:12 potentes ejemplos de buscar y reemplazar

  5. ¿Cómo agregar un comando en el editor vim?

Cómo buscar y reemplazar texto, palabra o cadena en un archivo

Cómo instalar el editor de texto Vim en Debian 10

Cómo instalar el editor de texto Vim en CentOS 8

¿Cómo instalar el editor de texto VIM en Ubuntu?

Cómo instalar Vim en Ubuntu

Cómo encontrar y reemplazar texto en Vim