Linux PC

Cómo buscar texto en Vim (3 métodos)

search for text in vim featured image

Se sabe que el editor Vim mejora la productividad de sus usuarios con sus diversas combinaciones de teclas y comandos. Pero estos atajos de teclado vienen con una pequeña curva de aprendizaje. Uno de los problemas más comunes para un principiante es usar Vim para buscar texto, ya que el método CTRL + F habitual no funciona en Linux. No temas, amigo, ya que en este artículo exploraremos diferentes métodos para buscar texto en Vim.

Búsqueda de texto hacia adelante o hacia atrás en Vim

Esta es la forma más común y fundamental de buscar texto en Vim y todo usuario debe saber cómo funciona. Con esto, puede buscar rápidamente palabras, frases o incluso patrones dentro del archivo dado. Siga estos pasos para buscar texto en Vim:

1. Posicionar el Cursor

Mueve el cursor utilizando las teclas h, j, k y l si está en modo normal o con las teclas de flecha del teclado para colocar el cursor desde donde desea comenzar a buscar en el texto.

posicionando el cursor la busqueda de texto en vim

2. Usa el comando de búsqueda

En Vim, puede buscar texto en la dirección de avance con el símbolo ‘/’ o en la dirección de retroceso con el ‘?’ símbolo. Utilice el símbolo apropiado para sus necesidades de búsqueda.

comando para iniciar la búsqueda

A continuación, escriba la palabra o frase de búsqueda que desea buscar y presione Intro. Por ejemplo, para buscar la palabra “Linux” en la dirección de avance, use este comando:

/Linux
la primera aparición del texto de búsqueda se resalta en vim

El cursor se moverá al principio del texto buscado. Este método busca texto distinguiendo entre mayúsculas y minúsculas. Para ignorar la búsqueda con distinción entre mayúsculas y minúsculas y buscar independientemente de la distinción entre mayúsculas y minúsculas, use \c con el comando. Simplemente agregue ‘\c’ antes del texto para buscar. Por ejemplo:

/\clinux

4. Navegar a través de los resultados de búsqueda

Ahora, presione “n” para pasar al siguiente resultado de búsqueda en dirección hacia adelante o presione ‘N’ para moverse hacia atrás. Una vez que haya terminado de buscar texto, salga del editor de Vim y pase al siguiente documento.

navegar a través de los resultados de búsqueda de texto en vim usando la tecla 'n' en el teclado

Buscar texto usando expresiones regulares en Vim

El método anterior funciona perfectamente para palabras o frases simples. Pero, ¿y si necesitas buscar un patrón común, digamos que desea filtrar todos los correos electrónicos en todo el texto? No se preocupe, ya que puede usar expresiones regulares para buscar patrones específicos en Vim.

Las expresiones regulares son una colección de caracteres que consisten en caracteres especiales y caracteres alfanuméricos, que representan un patrón de cadena específico. Por ejemplo, puede utilizar los siguientes símbolos de expresión regular:

Símbolo de expresión regular Acción
‘.’ para hacer coincidir cualquier carácter individual
‘*’ para hacer coincidir cualquier número de ocurrencias con el carácter anterior
‘+’ para hacer coincidir una o más apariciones del carácter anterior
‘[]’ para hacer coincidir a partir de un conjunto de caracteres definido
‘\w’ coincide con cualquier palabra con caracteres precedentes coincidentes

Así es como puede buscar texto en el editor Vim en Linux usando expresiones regulares.

1. Posicionar el Cursor

Use las teclas de flecha para mover el cursor para demarcar el punto de inicio de la búsqueda.

coloque el cursor al principio para iniciar la búsqueda de patrones de texto en vim

2. Usa el comando de búsqueda

Presione el símbolo ‘/’ para buscar en la dirección de avance o use el ‘?’ para buscar en la dirección inversa.

iniciar la búsqueda hacia adelante usando

3. Introduzca el patrón de búsqueda

Escriba el patrón de búsqueda de expresión regular que necesita buscar. Por ejemplo, para buscar todas las ID de correo electrónico en el texto dado, use esto:

\<[A-Za-z0-9._%+-]\+@[A-Za-z0-9.-]\+\.[A-Za-z]\{2,\}\>

¿Parece complicado? Vamos a desglosarlo –

  • \< y \> marcan el principio y el final del ID de correo electrónico y aseguran que coincida como una palabra completa.
  • [A-Za-z0-9._-]\+ utilizado para hacer coincidir cada aparición de caracteres alfanuméricos, más, puntos, guiones bajos y guiones
  • @ coincide exactamente con el símbolo ‘@’
  • [A-Za-z0-9.-]\+ coincide con cada aparición de caracteres alfanuméricos, puntos y guiones
  • \. coincide con el punto en el ID de correo electrónico
  • [A-Za-z]\{2,\} coincide con la última parte del nombre de dominio como .com, .in, etc.
usando expresiones regulares para buscar ID de correo electrónico en vim

4. Navegar a través de los resultados de búsqueda

Para pasar al siguiente resultado de búsqueda en dirección hacia adelante, presione ‘n’, o presione ‘N’ para moverse hacia atrás.

navegar a través de los resultados de búsqueda usando la tecla 'n' o 'N' en el teclado

Buscar y reemplazar texto en Vim Editor

Imagina que tienes que reemplazar cientos de ocurrencias de una palabra específica. Para tal situación, Vim tiene una función de búsqueda y reemplazo incorporada en la que puede usar texto simple y expresiones regulares de acuerdo con sus necesidades de cambios masivos y una administración de texto efectiva.

Así es como puede buscar y reemplazar texto en Vim:

1. Ingrese al modo de comando

Presione el botón ‘:’ en el teclado para ingresar al modo de comando donde puede ejecutar los comandos integrados de Vim.

entrando en modo comando

2. Escriba el patrón de búsqueda y reemplazo

Ahora escriba el patrón de búsqueda y el patrón de reemplazo según esta sintaxis para iniciar la operación:

%s/search_pattern/replacement_text/<flags>

En la sintaxis anterior, el símbolo “%” especifica que Vim aplique la operación a todo el archivo, y la ‘s’ especifica que use el comando sustituto

Aquí hay algunas banderas que puede usar con este comando:

  • g: significa indicador “global” y se usa para reemplazar todas las ocurrencias del patrón de búsqueda con reemplazo en todo el texto.
  • c: significa bandera de “confirmación” y se usa para avisar antes de que se lleve a cabo cada reemplazo.
  • i: significa indicador de “ignorar caso” y se utiliza para buscar casos de manera insensible en el archivo dado.

Por ejemplo, si desea reemplazar la palabra “Linux” con “Unix” en todo el texto dado mientras se le pregunta antes de cada reemplazo, use este comando:

%s/linux/unix/gc
comando para buscar y reemplazar

Verá el siguiente mensaje en la parte inferior:

replace with Unix (y/n/a/q/l/^E/^Y)?
aviso para buscar texto en vim y reemplazarlo

Presione ‘y’ para reemplazar solo la primera ocurrencia, ‘n’ para omitir el reemplazo actual, ‘a’ para reemplazar todas las ocurrencias, ‘q’ para salir de esta operación, ‘l’ para reemplazar y salir. Incluso puede presionar CTRL + E para desplazarse hacia arriba o usar CTRL + Y para desplazarse hacia abajo.

Una vez hecho esto, recibirá un mensaje de confirmación con el número de sustituciones realizadas.

reemplazando todas las apariciones de la palabra Linux con la palabra Unix

Preguntas frecuentes

¿Cómo busco varias palabras en Vim?

Para buscar múltiples palabras en Vim, primero, use el comando de búsqueda ‘/’, luego agregue el indicador ‘\v’ y luego escriba las múltiples palabras separadas por la tubería ‘|’ carácter como esta sintaxis: \v<first_wor>|<second_word>|<third_word>

Similar Posts

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *