[vim] Vim에서 탭 크기를 어떻게 변경합니까?

CSS에 선택기를 추가 할 때마다을 눌러 Enter속성을 정의합니다.

#selector {
        property: value;
}

(8 칸 탭)

Vim을 다음과 같이 구성하려면 어떻게해야합니까?

#selector {
    property: value;
}

(4 칸 탭)



답변

zoul의 답변을 확장 :

특정 파일 형식을 편집 할 때 특정 설정을 사용하도록 Vim을 설정하려면 자동 명령을 사용해야합니다.

autocmd Filetype css setlocal tabstop=4

이렇게하면 탭이 4 개의 공백으로 표시됩니다. 설정 expandtab하면 tabstop탭을 누를 때 Vim이 실제로 공백 (으로 제어되는 수 )을 삽입합니다 . softtabstop백 스페이스를 올바르게 작동시키는 데 사용할 수 있습니다 (즉, 항상 한 번에 한 문자 씩 삭제하는 대신 탭을 사용해야 할 경우 들여 쓰기를 줄임).

일을 설정하는 방법에 관해서는 완벽하게 교육을 결정하려면, 당신은에 빔의 문서를 읽을해야합니다 tabstop, shiftwidth, softtabstopexpandtab. 가장 흥미로운 비트는 expandtab( :help 'expandtab)에 있습니다.

Vim에서 탭을 사용하는 4 가지 주요 방법이 있습니다 :

  1. 항상 ‘tabstop’을 8로 유지하고 ‘softtabstop’및 ‘shiftwidth’를 4 (또는 3 또는 원하는 것)로 설정하고 ‘noexpandtab’을 사용하십시오. 그런 다음 Vim은 탭과 공백을 혼합하여 사용하지만 입력하면 4 자 또는 3 자마다 탭이 나타나는 것처럼 동작합니다.

  2. ‘tabstop’및 ‘shiftwidth’를 원하는 것으로 설정하고 ‘expandtab’을 사용하십시오. 이런 식으로 항상 공백을 삽입합니다. ‘tabstop’이 변경되면 서식이 엉망이되지 않습니다.

  3. ‘tabstop’및 ‘shiftwidth’를 원하는대로 설정하고 | modeline | 파일을 다시 편집 할 때이 값을 설정하십시오. Vim을 사용하여 파일을 편집 할 때만 작동합니다.

  4. ‘tabstop’과 ‘shiftwidth’는 항상 같은 값으로 설정하고 ‘noexpandtab’을 설정하십시오. 그런 다음 사람들이 사용하는 탭 중지 설정에 대해 작동해야합니다 (초기 들여 쓰기에만 해당). 이렇게하면 공백이 아닌 첫 번째 공백이 아닌 후에 탭이 있으면 좋을 것입니다. 그렇지 않으면 ‘tabstop’이 변경 될 때 정렬 된 주석이 잘못됩니다.


답변

:set tabstop=4
:set shiftwidth=4
:set expandtab

탭 문자 대신 공백이 4 개 삽입됩니다. 공백은 좀 더 “안정적”입니다. 공백으로 들여 쓰기 된 텍스트는 브라우저 및 다른 응용 프로그램에서 동일하게 표시됩니다.


답변

한 세션을 변경하려면 다음 명령을 사용하십시오.

:set tabstop=4

변경 사항을 영구적으로 만들려면 ~/.vimrc또는에 추가하십시오 ~/.vim/vimrc.

set tabstop=4

이것은 CSS뿐만 아니라 모든 파일에 영향을 미칩니다. CSS 파일에만 영향을 주려면

autocmd Filetype css setlocal tabstop=4

Michał의 답변에 명시된 바와 같이 .


답변

이 페이지의 여러 답변은 설명 된 문제에 대한 ‘단일 사용’수정입니다. 다음에 vim을 사용하여 문서를 열면 이전 탭 설정이 반환됩니다.

누군가 탭 설정을 영구적으로 변경하려는 경우 :

  • .vimrc 찾기 / 열기- 여기 지침
  • 다음 줄을 추가하십시오 : ( 여기에 더 많은 정보 )

     set tabstop=4
     set shiftwidth=4
     set expandtab
    
  • 그런 다음 파일을 저장하고 테스트하십시오.


답변

vim에 대한 하나의 라이너로 :

:set tabstop=4 shiftwidth=4 expandtab

대한 영구적 인 설정 에이 줄을 추가합니다 ~ / .vimrc 파일 :

set tabstop=4
set shiftwidth=4
set expandtab


답변

최신 정보

특정 프로젝트에서 작업하는 경우 editorconfig를 사용하는 것이 좋습니다 .

.editorconfig리포지토리의 각 파일 형식에 사용할 들여 쓰기를 정의하는 리포지토리의 루트에서 파일 을 정의 할 수 있습니다 .

예를 들면 다음과 같습니다.

root = true

[*.css]
charset = utf-8
indent_style = space
indent_size = 4

[*.js]
charset = utf-8
indent_style = space
indent_size = 2

이있는 정력 플러그인 이 자동으로 구성합니다 정력 열고 파일의 설정 파일에 따라.

또한 .editorconfig파일은 다른 많은 IDE 및 편집기에서 자동으로 지원되므로 다른 환경의 사용자간에 협업하는 데 가장 적합한 옵션입니다.

원래 답변

크기를 자주 변경해야하고 특정 파일 형식에 바인딩하지 않으려는 경우 .vimrc 파일에 미리 정의 된 명령을 사용하여 환경 설정을 빠르게 전환 할 수 있습니다.

nmap <leader>t :set expandtab tabstop=4 shiftwidth=4 softtabstop=4<CR>
nmap <leader>m :set expandtab tabstop=2 shiftwidth=2 softtabstop=2<CR>

이것은 두 개의 다른 크기 세트를 키 \ t 및 \ m에 매핑합니다. 원하는 키에이를 리 바인드 할 수 있습니다.


답변