답변:
다음 키 입력을 시도하십시오.
gg=G
설명 : gg
파일 맨 위로 이동 =
하고 들여 쓰기를 수정하는 명령 G
이며 파일 끝까지 조작을 수행하도록 지시합니다.
나는 예술적 스타일의 프로그램을 사용하고 싶습니다. 그들의 웹 사이트 에 따르면 :
Artistic Style은 C, C ++, C # 및 Java 프로그래밍 언어를위한 소스 코드 인 덴터, 포맷터 및 뷰티입니다.
Window, Linux 및 Mac에서 실행됩니다. 들여 쓰기, 탭을 공백으로 교체 또는 그 반대로, 원하는 작업 주위에 공백을 넣거나 (원하는 if(x<2)
경우 변환 ( x<2 )
) 함수 정의와 같은 줄에 중괄호를 넣거나 모든 옵션은 명령 행 매개 변수에 의해 제어됩니다.
vim에서 사용하려면 formatprg 옵션을 설정 한 다음 gq 명령을 사용하십시오. 예를 들어 .vimrc에 있습니다.
autocmd BufNewFile,BufRead *.cpp set formatprg=astyle\ -T4pb
.cpp 파일을 열 때마다 formatprg가 내가 좋아하는 옵션으로 설정됩니다. 그런 다음 gg를 입력하여 파일 맨 위로 이동하고 gqG표준에 따라 전체 파일을 포맷 할 수 있습니다. 단일 함수 만 다시 포맷해야하는 경우 함수 상단으로 이동 한 다음 입력 gq][하면 해당 함수 만 다시 포맷됩니다.
내가 원하는 스타일 옵션은 내가 -T4pb
선호하는 것입니다. 문서를 살펴보고 원하는 대로 코드를 형식화하도록 옵션을 변경할 수 있습니다.
여기 데모가 있습니다. 스타일을 짓기 전에 :
int main(){if(x<2){x=3;}}
float test()
{
if(x<2)
x=3;
}
스타일 후 (gggqG) :
int main()
{
if (x < 2)
{
x = 3;
}
}
float test()
{
if (x < 2)
x = 3;
}
희망이 도움이됩니다.
플러그인 vim-autoformat을 사용하면 단일 명령 https://github.com/Chiel92/vim-autoformat으로 버퍼 (또는 버퍼 선택)를 포맷 할 수 있습니다 . vim의 들여 쓰기 기능으로 대체되는 외부 형식 프로그램을 사용합니다.
나는 그것이 clang-format
잘 작동 한다는 것을 알았 습니다.
equalprg
vim 에서 바인딩 을 사용하는 것을 선호합니다 . 이것은 당신이 호출 할 수 clang-format
와 함께 G=gg
또는 다른 =
들여 쓰기 옵션을 설정합니다.
.vimrc 파일에 다음을 입력하십시오.
autocmd FileType c,cpp setlocal equalprg=clang-format
sudo apt install clang-format