vim에서 C 코드를 자동 포맷/인디트하려면 어떻게 해야 합니까?
다른 파일에서 코드를 복사하면 다음과 같이 포맷이 엉망이 됩니다.
fun()
{
for(...)
{
for(...)
{
if(...)
{
}
}
}
}
vim에서 이 코드를 자동 포맷하려면 어떻게 해야 합니까?
다음 키 입력을 시도합니다.
gg=G
설명:gg
파일 맨 위로 이동합니다.=
들여쓰기를 수정하는 명령어입니다.G
는, 파일의 끝까지 조작을 실행하도록 지시합니다.
저는 Artistic Style이라는 프로그램을 사용하는 것을 좋아합니다.그들의 웹사이트에 따르면:
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를 입력하여 파일 맨 위로 이동하고 파일 전체를 내 기준에 맞게 포맷할 수 있습니다.하나의 기능만 다시 포맷해야 하는 경우 기능 맨 위로 이동하여 입력하면 해당 기능만 다시 포맷됩니다.
내가 가진 애스티일의 선택지는-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;
}
도움이 됐으면 좋겠다.
나는 그것을 발견한다.clang-format
잘 동작합니다.
clang 매뉴얼에는 몇 가지 키바인딩 예가 있습니다.
사용하는 것이 좋습니다.equalprg
vim에 바인딩되어 있습니다.이 기능을 통해clang-format
와 함께G=gg
또는 그 외의=
들여쓰기 옵션
다음 파일을 .vimrc 파일에 저장하기만 하면 됩니다.
autocmd FileType c,cpp setlocal equalprg=clang-format
좋아해요indent
위에서 설명한 바와 같이 대부분의 경우 작업 중인 파일의 일부만 포맷하고 싶습니다.부터indent
stdin에서 코드를 가져올 수 있습니다. 정말 간단합니다.
- 포맷할 코드 블록 등을 선택합니다.
- " " 라고 합니다.
:!indent
.
astyle
취득하기 트릭을 할 수 있습니다.stdin은 같은 트릭을 합니다.
이미 언급되어 있습니다.gg=G
코드를 아름답게 하려면 , intend등의 외부 애플리케이션을 사용할 필요가 있습니다.부터%
모드의 이은 다음과같이 할 수 .이 파일은 다음과 같이 사용할 수 있습니다.
:!indent %
은, 부터 틀리지 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 라고 치면 됩니다.:set paste
수 요. 붙이면 붙을 수 있어요.:set nopaste
와 같은 이 다시 는 'beautify', 'beautify', 'beautify', 'beautify', 'beautify', 'beautify', 'beatify', 'be'와 같은 을 확인합니다.
플러그인 vim-autoformat을 사용하면 https://github.com/vim-autoformat/vim-autoformat 명령 하나로 버퍼(또는 버퍼 선택 항목)를 포맷할 수 있습니다.이를 위해 vim의 들여쓰기 기능으로 대체되는 외부 형식 프로그램을 사용합니다.
이라는 입니다.indent
수 요.apt-get install indent
하고 나서 을 실행합니다indent my_program.c
.
다음 $indent - kr - i8 *.c를 사용해 보십시오.
도움이 되었으면 좋겠네요!
언급URL : https://stackoverflow.com/questions/2355834/how-can-i-autoformat-indent-c-code-in-vim
'sourcecode' 카테고리의 다른 글
이미 정규화된 vuex-orm 데이터베이스에 데이터를 삽입하는 중 (0) | 2022.08.21 |
---|---|
Nuxt에서 Create() 글로벌 앱보다 먼저 접속하려면 어떻게 해야 하나요? (0) | 2022.08.21 |
JVM을 원격으로 디버깅할 수 있도록 설정하는 Java 명령줄 옵션은 무엇입니까? (0) | 2022.08.21 |
정적 공장 출하시 방법이란 무엇입니까? (0) | 2022.08.21 |
vue js 또는 jquery를 사용하여 요소의 개체 바꾸기 (0) | 2022.08.19 |