[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
하고 마지막 줄은 파일의 마지막 줄을 가져옵니다.