I would like to reformat some code which looks like this :
if (cond) {
foo;
}
to
if (cond)
{
foo;
}
Since this is C code, I have been looking at cindent
/cinoptions
to use with =
but it seems it does not deal with multiline rules.
I have been looking at formatoptions
to use with gq
, and it does not seem to be possible either.
So is it possible using default Vim options or should I use a specific plugin or function ?
:%s/^\(\s*\).*\zs{\s*$/\r\1{/
Breakdown:
^\(\s*\)
= capture the whitespace at the beginning of the line
.*
= everything else
\zs
= start replacement after this
{
= open curly brace
\s*$
= trailing whitespace before line end
\r\1{
= newline, captured whitespace, brace
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With