[vim] Vi에서 전체 파일의 들여 쓰기를 어떻게 수정합니까?

Vim에서 모든 줄의 들여 쓰기를 수정하는 명령은 무엇입니까?

종종 코드를 복사하여 원격 터미널에 붙여 넣고 모든 것을 엉망으로 만듭니다. 한 번 에이 문제를 해결하고 싶습니다.



답변

=indent 명령은 동작을 수행 할 수 있습니다. 따라서 gg, 파일의 시작을 얻기 위해 =, 들여 쓰기 G, 파일의 끝에 gg=G.


답변

터미널에 붙여 넣기 전에 시도한 :set paste다음:set nopaste 작업을 완료 한 후. 그러면 자동 들여 쓰기, 줄 바꿈 및 붙여 넣기를 방해하는 기타 기능이 꺼집니다.

편집 : 또한 =들여 쓰기 보다 훨씬 좋은 결과 는 일반적으로 외부 프로그램을 사용하여 얻을 수 있음을 지적해야합니다 . 예를 들어, 나는 :%!perltidy항상 달려 있습니다. astyle, cindent등도 사용할 수 있습니다. 물론 파일 유형에 따라 이들을 키 스트로크에 매핑하고 다른 키 스트로크를 동일한 키 스트로크에 매핑 할 수 있습니다.


답변

코드를 입력하지 않고 현재 블록을 다시 들여 쓰려면 다음을 수행하십시오.

[[=]]


답변

모든 명령의 주인은

gg=G

이것은 전체 파일을 들여 쓰기합니다!

그리고 아래는 Vim 또는 gVim에서 신속하게 줄을 들여 쓰는 데 사용되는 간단하고 우아한 명령 중 일부입니다.

현재 줄 아래의 모든 줄을 들여 쓰려면

=G

현재 줄을 들여 쓰려면

==

n현재 줄 아래의 줄 을 들여 쓰려면

n==

예를 들어 현재 줄 아래에 4 줄을 들여 쓰기

4==

코드 블록을 들여 쓰려면 중괄호 중 하나로 이동하여 명령을 사용하십시오.

=%


답변

깔끔한 응용 프로그램 / 유틸리티를 사용하여 HTML 및 XML 파일을 들여 쓰기 할 수 있으며 해당 파일을 들여 쓰기하는 데 매우 효과적입니다.

XML 파일을 확인

:!tidy -mi -xml %

HTML 파일을 확인하십시오

:!tidy -mi -html %


답변

탈출을 누른 다음 아래 조합을 빠르게 입력하십시오.

gg=G


답변

1G=G. 파일의 모든 줄을 들여 쓰기해야합니다. 1G첫 줄 을 가져 =오고 자동 들여 쓰기를 시작 G하고 마지막 줄은 파일의 마지막 줄을 가져옵니다.