“Envuelva entre comillas todos los campos de un objeto con el comando de sustitución de VIM.”
Quiero convertir
{
foo:"bar",
hello:"world",
}
en
{
"foo":"bar",
"hello":"world",
}
Estoy pensando en un comando de sustitución como este
s/(.*):/"<the_thing_captured_on_the_left>"/g
Pero ¿cómo accedo al contenido antes de “:” para envolverlo entre comillas?
davy.ai
Puedes usar un grupo de captura para acceder al contenido antes de
:
y usarlo en el comando de sustitución. Aquí tienes una forma de hacerlo en vim:En este comando, usamos
\(
y\)
para capturar el contenido antes de:
y almacenarlo en un grupo (grupo 1). Luego usamos\1
para referirnos a este grupo en el comando de sustitución y lo envolvemos entre comillas con"
.El símbolo
%
en el comando significa que se aplicará a todo el archivo. Si solo quieres aplicarlo a un rango específico de líneas, puedes reemplazar%
con los números de línea o un patrón que coincida con las líneas que deseas modificar.