[Vim] 파일 별 들여쓰기 크기 설정하기

Vim에서 파일의 종류(확장자나 언어 등)에 따라서 들여쓰기 크기(indentation size or tab size)를 설정하려면 다음과 같은 식으로 하면 된다.

" 기본 들여쓰기 크기 설정
set ts=4
set sts=4
set sw=4

" 특정 파일용 설정
autocmd FileType javascript setlocal ts=2 sts=2 sw=2
autocmd FileType html setlocal ts=2 sts=2 sw=2

autocmd로 시작하는 코드가 FileType에 따라 들여쓰기 설정(ts = tapstop, sts = softtabstop, sw = shiftwidth)을 하도록 하는 설정이다. 참고로 개인적으론 매우 귀찮아서 이 3가지 설정을 모조리 똑같이 해 버린다. 원한다면 물론 마음대로 설정해도 된다. ;-)

들여쓰기 크기는 개인의 기호일 수도 있고 팀의 규율(?)에 따라 결정될 수도 있다. 따라서 개인적인 설정에 구애되지 말자.

물론 소스 상단에 이 들여쓰기 크기에 대한 설정 구문을 적어줄 수도 있다.
// vim:ts=4:sts=4:sw=4
위 예제는 C/C++파일의 상단에 적어주면 이 파일을 열 때 이 설정이 적용되어서 들여쓰기 사이즈가 변한다. 그러니 꼭 vim의 설정에 구애될 필요는 없을지도 모른다.

이럴 때는 Emacs의 모드에 따른 자동 들여쓰기 기능이 참 편할 때도 있다. 알아서 소스의 들여쓰기 크기를 판단해서 크기를 설정해 주는 등의 다양한 기능들이 Vim을 쓸 때 굉장히 아쉽게 느껴진다. 뭐 정말 아쉽다면 DetectIndent 같은 Vim용 플러그인을 활용할 수도 있겠지만....

댓글

이 블로그의 인기 게시물

버전(Version)을 제대로 이해하기

소수점 제거 함수 삼총사 ceil(), floor(), round()