¿Qué complemento de vim debo usar si quiero rodear un texto específico con corchetes como este?

¿Qué complemento de vim debo usar si quiero rodear un texto específico con corchetes como este?

solo quiero transformarme

for(int i = 1; i <= N; i++) if(ord[i] == -1) dfs(i, 0, i);

a

for(int i = 1; i <= N; i++) {
    if(ord[i] == -1) dfs(i, 0, i);
}

La menor tecla que debo presionar como sea posible.

Encontré el complemento 'envolvente' pero parece que tiene algunas funciones (como 'yss{') que rodea toda la línea de texto con corchetes pero no el bloque que quiero rodear. Y si es posible, tengo que agregar algunas líneas nuevas en alguna posición, así que creo que será muy incómodo.

Y también encontré algunos comandos vim originales, pero fue demasiado largo y parece que me está tomando demasiado tiempo.

Estaré muy contento si me dicen qué complemento debo usar. ¡Gracias!

Respuesta1

Esto se puede hacer fácilmente con el complemento envolvente.vim: primero, debe hacer una selección visual de if(ord[i] == -1) dfs(i, 0, i);(por ejemplo, con f)llv$), para que el complemento sepa qué rodear.

El comando de modo visual gSrodea y coloca en una nueva línea. Para llaves, eso es gS{.

información relacionada