Este es uno de los capítulos del tutorial Neovim. Encontrarás los enlaces a todos los de capítulos, al final de este artículo.
Estoy mas que seguro que en alguna que otra ocasión te has encontrado cambiando unas comillas dobles por unas comillas simples alrededor de una palabra, o también, reemplazando paréntesis por corchetes, o similar. Esto, que es una operación mas o menos simple, lo puedes hacer de forma completamente eficiente con nvim-surround
. Así, en este artículo te voy a mostrar como modificar las envolturas con nvim-surround de forma eficiente.
Se trata de un complemento para Neovim completamente prescindible, tal y como te mostraré a continuación, pero, que sin embargo, te permite ser mucho mas eficiente a la hora de realizar este tipo de operaciones.
![Modificar las envolturas con nvim-surround de forma eficiente](https://atareao.es/wp-content/uploads/2023/03/cover-2-1024x576.jpg)
Modificar las envolturas con nvim-surround de forma eficiente
Vim y Neovim, se caracterizan precisamente por tratarse de herramientas que te permiten editar y modificar tu código de forma sencilla. De hecho, son herramientas que están precisamente pensadas para realizar esas tareas, las de modificar código. Porque, una de las tareas que realizas mas a menudo mientras programas es modificar el código que has escrito.
Si bien, Vim y Neovim, son muy eficientes para hacer este tipo de operaciones, siempre es posible dar un plus de eficiencia. Así, en este caso nvim-surround
, es un complemento para Neovim, que te permitirá modificar aquellos caracteres que rodean una palabra, frase, párrafo….
Sobre nvim-surround
Es un complemento para el editor de texto Neovim que proporciona una forma conveniente de agregar, cambiar y eliminar los paréntesis, comillas y otros caracteres de «envoltura» que rodean una palabra o selección de texto.
Por ejemplo, si tienes el cursor alrededor de una palabra en Neovim y quieres envolverla en comillas dobles, normalmente tendrías que escribir manualmente las comillas dobles antes y después de la palabra. Con nvim-surround, puedes simplemente escribir cs»‘ y la palabra se envolverá en comillas dobles.
nvim-surround también proporciona otras funcionalidades útiles, como cambiar la envoltura de una selección de texto existente, agregar envolturas a pares de palabras, y más. Es muy útil para agilizar el proceso de edición de texto en Neovim y reducir la cantidad de tipeo manual necesario para ciertas tareas.
Algunos ejemplos de como utilizar nvim-surround
A continuación, te dejo algunos ejemplos prácticos de la utilización de nvim-surround
,
- Cambiar el tipo de comillas: Si tienes un texto envuelto en comillas simples y quieres cambiarlo a comillas dobles, puedes colocar el cursor dentro del texto y usar el comando
cs'"
. Esto reemplazará las comillas simples por comillas dobles. Si quisieras cambiar las comillas dobles por comillas simples, usarías el comandocs"'
. - Agregar paréntesis a una expresión: Si tienes una expresión matemática como
2 + 2
y quieres envolverla en paréntesis, puedes seleccionar la expresión y usar el comandoS(
. Esto envolverá la selección en paréntesis, resultando en(2 + 2)
. - Eliminar envolturas: Si tienes un texto envuelto en paréntesis, comillas, corchetes u otro carácter, y deseas eliminar las envolturas, puedes colocar el cursor dentro del texto y usar el comando
dsX
, dondeX
es el carácter de envoltura que deseas eliminar. Por ejemplo, si tienes el texto"Hello, World!"
envuelto en comillas dobles y deseas eliminar las comillas, puedes usar el comandods"
. - Agregar envolturas a pares de palabras: Si tienes dos palabras separadas por un espacio, y deseas envolverlas en paréntesis, puedes colocar el cursor al comienzo de la primera palabra y usar el comando
ysiw(
, seguido del carácter de envoltura deseado. Esto envolverá las dos palabras en paréntesis, resultando en(Hello World)
.- Cambiar envolturas anidadas: Si tienes texto envuelto en múltiples niveles de envolturas, y deseas cambiar el carácter de envoltura en el nivel exterior, puedes usar el comando
csX
dondeX
es el nuevo carácter de envoltura deseado. Por ejemplo, si tienes el texto[Hello, World]
envuelto en corchetes y deseas cambiar los corchetes por paréntesis, puedes colocar el cursor dentro del texto y usar el comandocs](
. Esto reemplazará los corchetes por paréntesis, resultando en(Hello, World)
.
- Cambiar envolturas anidadas: Si tienes texto envuelto en múltiples niveles de envolturas, y deseas cambiar el carácter de envoltura en el nivel exterior, puedes usar el comando
Si no estás utilizando el complemento nvim-surround en Neovim, todavía puedes realizar las mismas acciones manualmente, aunque llevará un poco más de tiempo y esfuerzo.
- Cambiar el tipo de comillas: Para cambiar el tipo de comillas que rodean una selección de texto, deberás eliminar las comillas existentes y luego agregar las nuevas comillas manualmente. Por ejemplo, para cambiar comillas simples por comillas dobles, podrías usar
di'
para eliminar las comillas simples, seguido dei"
para agregar las comillas dobles. - Agregar paréntesis a una expresión: Para agregar paréntesis a una expresión matemática, deberás agregar manualmente los paréntesis alrededor de la expresión. Por ejemplo, para envolver
2 + 2
en paréntesis, deberías escribir(2 + 2)
. Otra opción esdf2a()<Ctrl + O><Mayús + P>
. - Eliminar envolturas: Para eliminar las envolturas existentes de una selección de texto, deberás eliminar manualmente los caracteres de envoltura. Por ejemplo, para eliminar las comillas dobles de
Hello, World!
, deberás usardi"pF"xX
para eliminar las comillas dobles. - Agregar envolturas a pares de palabras: Para agregar envolturas a pares de palabras, deberás seleccionar manualmente las palabras y luego agregar las envolturas. Por ejemplo, para envolver
Hello World
en paréntesis, deberías seleccionar las dos palabras y luego escribir(Hello World)
. Otra opción seríacfd<Ctrl + O>p
. - Cambiar envolturas anidadas: Para cambiar las envolturas anidadas, deberás eliminar manualmente las envolturas existentes y luego agregar las nuevas envolturas. Por ejemplo, para cambiar los corchetes por paréntesis en el texto
[Hello, World]
, deberías usardi[
para eliminar el contenido, y pegar fuera de los corchetes y posteriormente borrar los corchetes.
Conclusión
Como ves no es nada complejo realizar las mismas operaciones sin este complemento, pero como dice el dicho, a nadie amarga un dulce.
El vídeo
Lo mismo que te he contado pero en formato vídeo.