vim-surround es un complemento muy útil para la gestión de paréntesis, corchetes, comillas, etc que rodean palabras o frases

Hoy traigo hasta el blog un complemento para Vim llamado vim-surround, creado por Tim Pope prolífico creador de grandes complementos para Vim.
Con este complemento podremos crear fácilmente un par de paréntesis, corchetes, llaves, comillas, etiquetas HTML que rodeen una palabra, o frase. O cambiarlas por otros o eliminarlas.
Este artículo es una nueva entrega del curso “improVIMsado” que desde hace meses vengo publicando en mi blog sobre el editor Vim y que puedes seguir en estos enlaces:
Y para aprender Vim (de la manera más inteligente) aquí tienes esta útil guía:
Muchas veces tenemos que editar texto con Vim al que tenemos que añadir comillas o paréntesis a una palabra o toda una línea. En otros casos tenemos que cambiar unas comillas dobles por una simples o viceversa.
En vez de ir símbolo por símbolo haciéndolo a mano ¿Por qué no utilizar el complemento para Vim vim-surround que nos facilitará la tarea?
Lo primero tendremos que instalar dicho complemento en nuestro Vim, ya sea mediante los gestores de complementos externos existentes o mediante el propio gestor de complementos de Vim.
Para ejecutar el comando tenemos varias opciones:
Hecho esto, ya lo tenemos disponible para utilizarlo, pero ¿cómo se utiliza? La verdad es que es muy sencillo el añadir, modificar o eliminar estos símbolos en nuestro texto. Veamos varios ejemplos.
- ys → añade los símbolos deseados en la unidad de texto (palabra, dos palabras, línea, etc) especificada.
- cs → cambia los símbolos deseados, por otros.
- ds → elimina los símbolos deseados.
Imaginemos que tenemos la frase: Hola mundo. Vim es genial. Y el asterisco (*) marca la posición en la que se encuentra el cursor:
- H*ola mundo. Vim es genial → Al ejecutar ys2w» añadirá (ys) en las dos palabras (2w) donde se encuentra el cursor, el símbolo de comillas dobles («)
- H*ola mundo. Vim es genial → Al ejecutar yss( esto añadirá (ys) en toda la línea (s) unos paréntesis con unos espacios en blanco entre el paréntesis y el texto. Si no queremos esos espacios deberíamos ejecutar yss)
- «H*ola mundo». Vim es genial → Al ejecutar cs»[ esto cambiará (cs) las comillas dobles («) por corchetes, con un espacio en blanco entre los corchetes y texto. Podemos no añadir esos espacios con cs»]
- H*ola mundo. Vim es genial → Al ejecutar ysst<p> esto añadirá (ys) en toda la línea (s) la etiqueta (t) <p>
- <p>H*ola mundo. Vim es genial</p> → Al ejecutar ys2wt<em> añadirá (ys) en las dos palabra (2w) la etiqueta (t) <em>
- («H*ola mundo»). «Vim es genial« → Al ejecutar ds» esto eliminará (ds) las comillas («) que rodean a la posición del cursor, las comillas de «Vim es genial» quedarían intactas.
Estas son solo algunas de las opciones que proporciona el complemento vim-surround. Una utilidad muy útil a la hora de editar texto, que nos ahorrará muchas repeticiones de teclas y nos hará la edición más eficiente.
Por supuesto en la propia ayuda del complemento tienes más opciones y más casos, ejecuta :help surround para echarles un vistazo.
Este es otro de esos complementos que en mi caso creo que es indispensable… ¿ya lo tenías instalado? ¿lo acabas de descubrir y es lo que siempre has estado buscando? Usa los comentarios para compartir tu opinión.