Qual plugin vim devo usar se quiser colocar um texto específico entre colchetes como este?

Qual plugin vim devo usar se quiser colocar um texto específico entre colchetes como este?

Eu só quero transformar

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

para

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

a menor tecla que devo pressionar possível.

Encontrei o plugin 'surround', mas parece que ele tem algumas funções (como 'yss{') que circundam toda a linha de texto com colchetes, mas não o bloco que desejo circundar. E se for possível, terei que adicionar algumas linhas novas em alguma posição, então acho que será muito desconfortável.

E também encontrei alguns comandos originais do vim, mas demorei muito e parece que estou demorando muito.

Ficarei muito feliz se vocês me disserem qual plugin devo usar. Obrigado!

Responder1

Isso pode ser feito facilmente com o plugin surround.vim: Primeiro, você precisa fazer uma seleção visual if(ord[i] == -1) dfs(i, 0, i);(por exemplo, com f)llv$), para que o plugin saiba o que cercar.

O comando do modo visual gScircunda e coloca uma nova linha. Para aparelho encaracolado, isso é gS{.

informação relacionada