Какой плагин vim мне следует использовать, если я хочу заключить определенный текст в скобки, как здесь?

Какой плагин vim мне следует использовать, если я хочу заключить определенный текст в скобки, как здесь?

Я просто хочу преобразиться.

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

к

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

как можно меньшую клавишу, которую мне следует нажимать.

Я нашел плагин 'surround', но, похоже, у него есть некоторые функции (например, 'yss{'), которые заключают в скобки всю текстовую строку, но не тот блок, который я хочу окружить. И если это возможно, мне придется добавить несколько новых строк в каком-то месте, поэтому я думаю, что это будет очень неудобно.

Я также нашел несколько оригинальных команд vim, но они слишком длинные и, похоже, занимают слишком много времени.

Я буду очень рад, если вы мне подскажете, какой плагин мне использовать. Спасибо!

решение1

Это можно легко сделать с помощью плагина surround.vim: сначала вам нужно сделать визуальное выделение if(ord[i] == -1) dfs(i, 0, i);(например, с помощью f)llv$), чтобы плагин знал, что именно нужно окружить.

Команда визуального режима gSокружает и помещает на новую строку. Для фигурных скобок это gS{.

Связанный контент