Vamos a aprender a borrar rápidamente texto «encerrado» entre comillas, paréntesis, corchetes u otros delimitadores utilizando el editor de texto Vim
Quizás editando código o un texto, necesitamos borrar texto que está dentro de unas comillas o un paréntesis o unos corchetes o llaves o comillas simples. Veamos cómo realizar esa operación rápidamente gracias a la potencia del editor vim y sus comandos.
Este artículo forma parte de la serie de artículos sobre Vim que vengo realizando desde hace meses con aquello que voy descubriendo o aprendiendo y que puedes seguir en este enlace:
Si tenemos un texto dentro de unas comillas que queremos borrar, con el editor vim es muy sencillo decirle que borre todo lo que hay dentro de las comillas, mediante la combinación de teclas:
di"
Diseccionando el comando, encontramos:
- d → delete o acción que queremos hacer, en este caso borrar
- i → inside o donde lo queremos hacer, en este caso dentro
- » → delimitador de lo que queremos borrar, en este caso las comillas
Con esto nos borraría el texto que se encuentra dentro de las comillas, de las primeras comillas que encuentre desde la posición del cursor en adelante. Nos borra el texto y posiciona el cursor dentro de las comillas, por si queremos escribir algo.
También podemos decirle que borre, no solo el texto, si no también las propias comillas, para eso en vez de decirle inside le diríamos around
da(
Con este comando nos borraría lo que hay dentro de los paréntesis y los propios paréntesis (lo mismo para otros delimitadores).
A diferencia de las comillas, con los paréntesis, corchetes y llaves, vim borrará aquellas donde el cursor este dentro. Si hay varios anidados, borrará los paréntesis donde el cursor se encuentre.
Pero no solo podemos borrar, podemos utilizar otras acciones que nos ofrece Vim. Así por ejemplo podemos cambiar el texto dentro de unos corchetes por otro, mediante
ci[
Con esto Vim borrará el texto dentro de los corchetes y se pondrá en modo edición para poderlo cambiar por lo que deseemos.
¿Conocías esto? Seguro que ves el potencial que tiene!! Tienes un ejemplo práctico en el siguiente vídeo:
Me encanta tu serie de artículos de vim e i3.
Por cierto, no sé si conoces tmux. Pero te lo recomiendo. Seguro que salen buenos post como estos.
Un saludo
Hola!
Gracias! Me alegra que te gusten… Y si buscas encontrarás un tutorial sobre Tmux en mi blog… 😉
Ya me dirás si te gusta también!
Saludos y gracias por comentar!
Aquí el video tutorial que realicé sobre Tmux
https://victorhckinthefreeworld.com/2018/01/23/guia-rapida-de-tmux-expande-las-posibilidades-de-la-consola-de-linux/
Me gustan muchos estos truquitos que hacen la vida más facil con vim.
Tengo un problema, cuando pulso la tecla ESC para poner el comando di(, no elimina el texto que está dentro de los paréntesis. Tampoco me funciona el di[.
En la parte inferior derecha del vim se va mostrando las letras que voy introduciendo. Cuando pulso di y luego [ , desaparece el comando que he pulsado y no elimina lo que le he dicho.
No sé si me explico 🙂
muchas gracias.
Hola!
Para eliminar el texto entre paréntesis, el cursor debe estar dentro del paréntesis que quieres eliminar. ¿Quizás sea por eso?
Saludos!!!