본문 바로가기

개발 도구/vim

[ vim ] tab을 space로 변경하기 (expandtab, shiftwidth, tabstop)

반응형

vi 또는 vim 에서 탭(Tab)을 스페이스(Space)로 변경하는 방법은 설정을 통해 가능합니다. 이 과정은 탭을 입력할 때마다 스페이스가 입력되도록 하는 설정을 하는 것이며, 이를 위해서는 두 가지 주요 옵션을 사용합니다:

  1. expandtab 옵션: 입력한 탭을 스페이스로 변환합니다.
  2. shiftwidthtabstop 옵션: 스페이스의 개수를 설정합니다.

1. 설정 방법

먼저 vim을 열고 명령 모드에서 아래와 같은 명령을 입력하여 설정합니다:

:set expandtab
:set shiftwidth=4
:set tabstop=4
  • expandtab: 입력한 탭을 스페이스로 변환합니다.
  • shiftwidth=4: 들여쓰기나 자동 들여쓰기 시 사용할 스페이스의 개수를 설정합니다.
  • tabstop=4: 기존의 탭 문자가 화면에서 몇 개의 스페이스처럼 보일지 설정합니다.

2. 설정을 자동으로 적용하기

이 설정을 매번 반복하기 번거로울 수 있기 때문에, ~/.vimrc 파일에 추가하여 자동으로 적용되도록 할 수 있습니다. 터미널에서 아래 명령을 사용해 ~/.vimrc 파일을 열고 설정을 추가하세요:

vim ~/.vimrc

~/.vimrc 파일에 아래 설정을 추가합니다:

set expandtab
set shiftwidth=4
set tabstop=4

3. 기존 파일의 탭을 스페이스로 변환하기

이미 탭이 포함된 파일을 편집 중이라면, 해당 탭을 스페이스로 일괄 변환할 수 있습니다.

  • 아래 명령으로 파일 내 모든 탭을 4개의 스페이스로 변환합니다:
:%s/\t/    /g

이 명령은 현재 파일의 모든 탭 문자를 4개의 스페이스로 변환합니다. 는 원하는 개수만큼의 스페이스로 변경할 수 있습니다.

요약

  • expandtab, shiftwidth, tabstop 옵션을 설정하여 탭을 스페이스로 변경합니다.
  • .vimrc 파일에 설정을 저장하면 매번 설정할 필요가 없습니다.
  • 기존 파일에서 탭을 스페이스로 변환하려면 %s/\t/ /g 명령을 사용합니다.
반응형

'개발 도구 > vim' 카테고리의 다른 글

[ Linux ] VIM 편집기 옵션 설정하기  (0) 2020.10.25