Мне нравится использовать программу Artistic Style. Согласно их веб-сайту :
Artistic Style - это индентор, форматировщик и beautifier исходного кода для языков программирования C, C ++, C # и Java.
Работает в Window, Linux и Mac. Это будет делать такие вещи, как отступ, замена табуляции пробелами или наоборот, расстановка пробелов вокруг операций так, как вам нравится (преобразование if(x<2)
в if ( x<2 )
, если вам так нравится), размещение скобок в той же строке, что и определения функций. или перемещая их в строку ниже и т. д. Все параметры управляются параметрами командной строки.
Чтобы использовать его в vim, просто установите для него опцию formatprg, а затем используйте команду gq. Так, например, у меня есть в моем .vimrc:
autocmd BufNewFile,BufRead *.cpp set formatprg=astyle\ -T4pb
, чтобы при открытии файла .cpp для formatprg задавались параметры, которые мне нравятся. Затем я могу набрать gg, чтобы перейти к началу файла, и g q G , чтобы отформатировать весь файл в соответствии с моими стандартами. Если мне нужно переформатировать только одну функцию, я могу перейти в начало этой функции, а затем набрать g q ] [ и он переформатирует только эту функцию.
Опции, которые у меня есть для astyle, -T4pb
, это только мои предпочтения. Вы можете просмотреть их документы и изменить параметры, чтобы форматировать код так, как вам нравится.
Вот демо. Перед стилем:
int main(){if(x<2){x=3;}}
float test()
{
if(x<2)
x=3;
}
После astyle (gggqG):
int main()
{
if (x < 2)
{
x = 3;
}
}
float test()
{
if (x < 2)
x = 3;
}
Надеюсь, это поможет.