Vim encontrar y reemplazar

Vim encontrar y reemplazar
VI/VIM es uno de los editores de texto legendarios que todavía encuentra su lugar en el Arsenal de usuarios avanzados y profesionales. Vim es especialmente popular entre los programadores. Cada distribución de Linux incluye VIM de forma predeterminada. Si está ejecutando un sistema no linux, aún debería poder disfrutar de este editor de texto de calidad desde cualquier sistema. Conseguir vim.

Por qué este antiguo software sigue siendo relevante? Porque es un atajo liviano de teclado para casi cualquier función, búsquedas de expresión incorporadas y un ecosistema de complementos robusto, estable y saludable. Sin mencionar otras características de editor de texto de día moderno, como Beautiful Syntax Stoping,. Encontrarás VIM principalmente popular entre los programadores porque VIM requiere un enfoque de teclado pesado. Esa es una buena práctica para los programadores.

Como sugiere el título del artículo, el objetivo de esta guía es ofrecerle una mejor comprensión de la búsqueda y reemplazar las funcionalidades de VIM. Vim no es nada a lo que tener miedo. De hecho, es una de las superpotencias que siempre tendrás a tu lado.

Creación de archivos de demostración

Al principio, necesitamos un texto de demostración. Para aprender VIM, la forma más segura es crear un archivo de texto desechable y hacer lo que quiera con él. De esta manera, incluso si algo sale mal, no se pierde nada importante.

Estoy usando Manjaro Linux como mi sistema Linux. Aprenda a instalar Manjaro Linux. Es una distribución basada en arco que usa Pacman como el administrador de paquetes predeterminado. He generado un archivo de texto que contiene todos los paquetes instalados en mi sistema.

pacman -qqe >> packagelist.TXT
paquete de gato.TXT

Ahora, inicie el archivo de texto en VIM!

Vim Packagelist.TXT

Búsqueda vim

Para buscar, VIM usa la siguiente estructura.

?

Por ejemplo, busquemos "Python".

?pitón

Por defecto, la búsqueda se asentará en un resultado fijo. Para ir al siguiente/anterior resultado de la búsqueda, use las siguientes claves.

Nota: No olvide presionar Enter antes de usar las siguientes teclas. De lo contrario, el término de búsqueda cambiará!

N - Encuentra el próximo partido
N - Encuentra el partido anterior

Esta es solo la forma básica de buscar. Probemos un método un poco más poderoso.

/\\>

Aquí, \ es para finalizar la cadena.

Al igual que el ejemplo anterior, use N o N (dependiente de la caja) para navegar por los resultados de búsqueda.

Buscar también es compatible con los comodines. Por ejemplo, hay muchos paquetes con "Python-" Extensión.

Para buscarlos todos, podemos usar "Python*". Aquí, el asterisco dice que cualquier cosa después del prefijo "Python". Para cualquier búsqueda, el asterisco puede estar en cualquier lugar del término de búsqueda. Donde sea que esté, le dice a VIM que complete el vacío con todos los datos posibles de todo el archivo de texto.

/\

Cuando estás buscando, Vim siempre pondrá el cursor en el carácter inicial de los partidos. Esta es la acción por defecto. No te preocupes; VIM permite cambiar la posición predeterminada del aterrizaje del cursor.

/Python/E

Aquí, el último "e" le dice que llegue al cursor al final de la frase coincidente. Usando el siguiente ejemplo, también puede indicar que aterrice el cursor a continuación o por encima del resultado de la búsqueda.

//+2
//-3

También es posible compensar el cursor desde el principio/final de las coincidencias de búsqueda. Por ejemplo, el siguiente comando aterrizará el cursor en 3 caracteres al lado del principio.

//S+3
//B+3

Aquí, el "S" indica el comienzo, "+3" indica 3 caracteres desde el principio. "B" significa "Begin". También funciona similar a "S". Desde la captura de pantalla, VIM traducirá automáticamente "B" a "S".

Si está interesado en compensar desde el final de las coincidencias de búsqueda, use "E".

/

Aquí hay otra forma increíble de realizar una búsqueda en un archivo de texto.

:%s/// GN

Una explicación detallada del comando está en la siguiente sección del artículo.

Vim reemplazar

Buscar y reemplazar es otra función común y imprescindible para cualquier editor de texto de calidad. Vim, siendo una leyenda, ofrece una forma robusta de encontrar y reemplazar su texto deseado de manera simple. El comando para la función es simple pero permite hacer trabajos realmente complejos.

: s///

Desglosemos cada parte.

  • Rango: defina el rango de realización de la función "Buscar y reemplazar". Hay 2 valores diferentes.
    • % - realizar en todo el archivo
    • , - Realizar la acción en un determinado conjunto de líneas.
  • Search_string: la cadena que necesita reemplazar.
  • reemplazar_string: la nueva cadena que reemplazará la antigua.
  • Modificador: determine el comportamiento de reemplazo. Hay un par de valores diferentes.
    • G - opción "global". Realizar el reemplazo en cada ocurrencia de una línea.
    • GC: solicite confirmación antes de hacer cada reemplazo.
    • GN: ignore la función de reemplazo y resalte los hallazgos.

Por ejemplo, reemplacemos todo el "Python" con "Python3".

:%s/python/python3/g

Simple, correcto? Ahora, vamos a ver el siguiente.

:%S/Python/Python3/GC

Hay un puñado de acciones que puedes elegir. Mientras que algunos de ellos están familiarizados, otros no están. Veamos lo que significan.

  • y - Permitir realizar el cambio.
  • n - no permitir el cambio del cambio.
  • a - sustituir a todos.
  • P - Deja la tarea.
  • L - Simplemente sustituya este hecho. Entonces, deja.
  • ^E (Ctrl + E) - Desplácese por una pantalla
  • ^Y (Ctrl + y) - Desplácese hacia abajo en una pantalla

Ahora, probemos la parte de rango. En el ejemplo anterior, ya usamos el rango "%". Ahora, es hora de limitar nuestras búsquedas en varias líneas.

: 200,250 s/python/python3/g

La búsqueda comenzará en la línea 200 y terminará en la línea 250. En el medio de los límites, toda la entrada de "Python" se cambiará a "Python3".

Esta función no solo se limita a un término de búsqueda. Puede incluir múltiples términos de búsqueda!

:%s/\ |\ |
//gramo

Intentemos cambiar todas las entradas "Python" y "Py" en "Python3".

:%s/python \ | py/python3/g

Sensibilidad de casos

Todos los trucos descritos anteriormente en la guía son altamente sensibles a los casos. Realmente debes asegurarte de que cada vez que trabajas, estás escribiendo los caracteres en el caso correcto. Por ejemplo, "Python", "Python", "Python", etc. Todos son entradas diferentes.

Si no recuerda el caso, solo dígale a VIM que se convierta en un caso insensible!

/\C
:%s/\C//gramo

Esta insensibilidad también se puede habilitar directamente desde el archivo VIMRC.

establecer ignorecase

Aquí hay otra opción interesante.

Establecer SmartCase

El "Ignorecase" obligará a Vim a ignorar la sensibilidad del caso. Sin embargo, si hay alguna letra mayúscula en su búsqueda, la "SmartCase" permitirá a VIM volver a sensible a los casos.

Nota: para que funcione "SmartCase", primero necesita "Ignorecase".

Pensamientos finales

Hay muchas cosas que puedes realizar con Vim. Es como el mejor editor de texto que nunca necesitará. Todo lo que necesitas es solo paciencia y alguna práctica.

Disfrutar!