답변:
tl; dr : set tabstop=4 softtabstop=-1 shiftwidth=0 expandtab
짧은 형식: set ts=4 sts=-1 sw=0 et
로 설정하면 softtabstop
(또는 sts
) -1
자동으로 tabstop
( ts
) 와 동일하게 동작하므로 탭을 많이 변경하면 번거 로움이 줄어 듭니다. shiftwidth
( sw
)를 설정 0
하면 효과적으로 동일하게 만들어야합니다 tabstop
.
shiftwidth
sw
(자동) 들여 쓰기의 각 단계에 사용할 공간 수입니다. 에 사용
cindent
, >>, <<, 등
제로 때tabstop
값이 사용됩니다.
tabstop
ts
파일에서 a가 계산하는 공간 수입니다. : retab 명령 및
softtabstop
옵션 도 참조하십시오 .
softtabstop
sts
자리의 수있는 Tab삽입과 같은 편집 동작들을 수행하기위한 계산하는 동안 Tab또는 사용 BS. 그것은 느낌 처럼 TabS가 삽입되는 사실 공간과의 혼합 사용하는 동안. 이
tabs
설정을 표준 값 으로 유지하면서 로 설정 한대로 편집 할 수 있으면 유용 합니다sts
. 때는sts
음수의 값이shiftwidth
사용된다. tabstops를 많이 변경하면 번거 로움을 덜어줍니다. 때는expandtab
설정되지 않으며, 공간의 수는 사용함으로써 최소화 Tab들.
expandtab
et
삽입 모드에서 : 적절한 수의 공백을 사용하여을 삽입하십시오. 공백은 >및 <명령과 함께 들여 쓰기에 사용
autoindent
됩니다.expandtab
켜져 있을 때 실제 탭을 삽입하려면 Ctrl-를 사용하십시오 V Tab. 참조 : retab
나는 이것을 원했던 누군가를 위해 GreedyBackspace.vim 을 썼습니다 . 개인적으로 사용하지 않으므로 업데이트한지 오래되었습니다. 그래도 최근에 버그 보고서를받지 못했습니다.
VIM 의 확장 탭 설정을 사용하여 확인 했습니까 ?
:set noet
파일 작업을하는 동안 탭을 유지하는 것이 좋습니다.
필요할 때 탭을 4 칸 또는 필요한만큼 교체합니다.
:%s/<ctrl+V><tab>/ /g
----
작은 보너스로 소스 파일은 탭당 3 자씩 짧아집니다 :-)