Вероятно, будет проще сначала переформатировать, используя регулярное выражение:
:%s/;/;\r/gc
:%s/}/}\r/gc
:%s/{/{\r/gc
и т. д.
для вставки возврата строки после; или же { }.
(если вы достаточно уверены или файл слишком длинный, не используйте c
, он будет запрашивать подтверждение для каждого матча)
Когда ваш файл разбит на несколько строк, вы можете использовать gg=G
для получения правильного отступа.
Насколько я знаю, невозможно разбить строку на несколько строк с помощью gq или =